202009-24 Python修改列表值问题解决方案 由于惯性思维,导致使用for循环修改列表中的值出现问题首次尝试:defmake_great(original):formagicianinoriginal:magician="theGreat"+magicianmagicians=["david","tom","jimmy"]make_great(magicians)show_magicians(magicians)运行结果显然列表中的值并没有改变。思考:for语句定义一个变量进行遍历,但只是访问当前值。操作列表中的值正确方法是使用下标。修改后:defmake_great(original):j=len(origin... 继续阅读 >
202009-24 python-xpath获取html文档的部分内容 有些时候我在们需要的用正则提取出html中某一个部分的文字内容,如图:获取dd部分的html文档,我们要通过它的一个属性去确定他的位置才可以拿到他这个部分我们可以看到他的这个属性class='rowclearfix',然后用xpath去获取到这部分:name=tree.xpath("//dd[@class='rowclearfix']")fromlxmlimporthtmlimportrequestsurl='http://navi.cnki.net/knavi/JournalDetail/GetArticleList?year=2018&issue=04&pykm=DZXU&pag... 继续阅读 >
202009-24 关于python中的xpath解析定位 爬取的网站:http://jbk.39.net/chancegz/这里只针对个别属性值:#例如:'别名'下的span标签文本,‘发病部位'下的span标签文本以及‘挂号科室‘下的span标签文本#defdisease(url):text=get_html(url)tree=etree.HTML(text)bm=tree.xpath('//ul[@class="information_ul"]/li/i[text()="别名:"]/following-sibling::span/text()')bw=tree.xpath('//ul[@class="information_ul"]/li/i[text()="发病部位:"]/followi... 继续阅读 >
202009-24 Python网络爬虫信息提取mooc代码实例 实例一--爬取页面importrequestsurl="https//itemjd.com/2646846.html"try:r=requests.get(url)r.raise_for_status()r.encoding=r.apparent_encodingprint(r.text[:1000])except:print("爬取失败")正常页面爬取实例二--爬取页面importrequestsurl="https://www.amazon.cn/gp/product/B01M8L5Z3Y"try:kv={'user-agent':'Mozilla/5.0'}r=requests.get(url,headers=kv)r.raise_for_status()r.encoding=r.apparent_encoding... 继续阅读 >
202009-24 appium+python adb常用命令分享 前言:在appium中adb命令的使用必不可少,做android测试嘛,adb命令肯定肯定是每天都要用的啦,所以今天给特地写个博客吧!这里就不介绍adb是什么以及怎么安装adb了,因为这些东西网上一搜一大把!没必要重写。对于这些常用的adb命令网上也都有介绍,我这里其实就是简单汇总吧。一、检查设备前提:安卓设备开启开发者模式,开启usb调试1.如何检查手机(或模拟器)是连上电脑的,在cmd输入:二、安装app第一步:先下载apk文件包到电... 继续阅读 >
202009-24 Python+appium框架原生代码实现App自动化测试详解 step1:首先介绍下python+appium的框架结构,如下截图所示(1):apk目录主要放置待测app的apk资源;(2):config目录主要放置配置文件信息,包含:数据库连接配置、UI自动化脚本中所需的页面元素信息及app启动信息、自动化报告邮件发送配置信息、接口请求的对应的url信息等【大家可根据待测app的功能添加或减少配置文件信息】。(3):report目录主要放置测试完成后生成的测试报告信息;(4):src目录下包含的目录如下common目录:app启... 继续阅读 >
202009-24 python使用paramiko实现ssh的功能详解 个人认为python的paramiko模块是运维人员必学模块之一,其ssh登录功能是旅行居家必备工具。安装paramiko很简单,pipinstallparamiko就搞定了,其依赖库会被一并安装。paramiko的官方站点在这里:http://www.paramiko.org/。有需要深入研究的可以阅读官方文档。paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。一、基于用户名和密码的sshclient方式登录#建立一个sshclient对象ssh=paramiko.SSHC... 继续阅读 >
202009-24 python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例 PyQt5滚动条控件QScrollBar简介可以看到,前面介绍的几个窗口控件的共同点是新建一些窗口来装载更多的控件,而QScrollBar提供了另一种思路:这个控件提供水平的或垂直的滚动条,这样可以扩大当前窗口的有效装载面积,从而装载更多的控件QScrollBar类中常用的信号信号含义valueChanged当滑动条的值改变发射此信号sliderMoved当用户拖动滑块时发射此信号QScrol... 继续阅读 >
202009-24 Python object类中的特殊方法代码讲解 python版本:3.8classobject:"""Themostbasetype"""#delobj.xxx或delattr(obj,'xxx')时被调用,删除对象中的一个属性def__delattr__(self,*args,**kwargs):#realsignatureunknown"""Implementdelattr(self,name)."""pass#对应dir(obj),返回一个列表,其中包含所有属性和方法名(包含特殊方法)def__dir__(self,*args,**kwargs):#realsignatureunknown"""Defaultdir()implementation."""p... 继续阅读 >
202009-24 python+Selenium自动化测试——输入,点击操作 这是我的第一个真正意思上的自动化脚本。1、练习的测试用例为:打开百度首页,搜索“胡歌”,然后检索列表,有无“胡歌的新浪微博”这个链接2、在写脚本之前,需要明确测试的步骤,具体到每个步骤需要做什么,既拆分测试场景,考虑好之后,再去写脚本。此测试场景拆分如下:1)启动Chrome浏览器2)打开百度首页,https://www.baidu.com3)定位搜索输入框,输入框元素XPath表达式://*[@id=”kw”]4)定位搜索提交按钮(百度一下... 继续阅读 >
202009-24 使用 Python ssh 远程登陆服务器的最佳方案 在使用Python写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果。在shell环境中,我们是这样子做的。$sshpass-p${passwd}ssh-p${port}-l${user}-oStrictHostKeyChecking=noxx.xx.xx.xx"ls-l"然后你会发现,你的输出有很多你并不需要,但是又不去不掉的一些信息(也许有方法,请留言交流),类似这样host:xx.xx.xx.xx,port:xxWarning:Permanentlyadded'[xx.xx.xx.xx... 继续阅读 >
202009-24 使用python执行shell脚本 并动态传参 及subprocess的使用详解 最近工作需求中有遇到这个情况在web端获取配置文件内容及往shell脚本中动态传入参数执行shell脚本这个有多种方法最后还是选择了subprocess这个python标准库subprocess这个模块可以非常方便的启动一个子进程,并且控制其输入和输出ClassPopen(args,bufsize=0,executable=None,stdin=None,stdout=None,stderr=None,preexec_fn=None,close_fds=False,shell=False,cwd=None,env=None,universa... 继续阅读 >
202009-24 python解析xml文件方式(解析、更新、写入) Overview这篇博客内容将包括对XML文件的解析、追加新元素后写入到XML,以及更新原XML文件中某结点的值。使用的是python的xml.dom.minidom包,详情可见其官方文档:xml.dom.minidom官方文档。全文都将围绕以下的customer.xml进行操作:<?xmlversion="1.0"encoding="utf-8"?><!--Thisislistofcustomers--><customers><customerID="C001"><name>AcmeInc.</name><phone>12345</phone><comments><![CDATA[... 继续阅读 >
202009-24 python批量替换文件名中的共同字符实例 今天看新概念视频的时候播放器PotPlayer的播放列表总是不能正确排序,我看到这些视频的名字格式如下:Lesson1-2单词解读.mp4我认为是数字前面的Lesson和空格干扰了播放器的排序,就考虑把这个文件夹下所有的文件名批量删除Lesson和空格,使之变成:1-2单词解读.mp4这里主要使用的就是os模块下的listdir,chadir和rename三个方法虽然最后还是排序不正确,我只能怪播放器不好了。代码如下#-*-coding:UTF-8-*-importos#获得... 继续阅读 >
202009-24 python批量修改xml属性的实现方式 今天来说说xml那些事儿.如何批量修改指定文件夹下的xml文件的指定属性.分三步走,首先,我们先看看如何读写单个的xml文件;第二步,来看看如何遍历指定文件夹下的所有文件,获取到所有文件的文件名;第三步,我们来看看一二之间该如何衔接.好,letsdoitstep1:对单个xml文件进行读写给定一个xml文件:<?xmlversion="1.0"encoding="utf-8"?><catalog><maxid>4</maxid><loginusername="pytest"passwd='123456'><capti... 继续阅读 >
202009-24 python修改linux中文件(文件夹)的权限属性操作 今天生成的对流云团路径图片放在linux下,文件的权限都是rw,没有x,后续的别人的程序调用不了,这里附上对三个属性的简单解释,有不够的欢迎大家补充Linux的权限不是很细致,只有RWX三种r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。x(eXecute,执行):对文件而... 继续阅读 >