python
0流云0
如果五年内专注某个领域,五年后你能否成为专家?如果能,为何现在不行动?欲戴王冠,必承其重!
展开
-
python线程关闭
python多线程转载 2022-11-26 16:14:09 · 2880 阅读 · 1 评论 -
python内存泄漏浅析
python内存泄漏原创 2022-11-26 16:10:35 · 4568 阅读 · 0 评论 -
Python日期的加减等操作
Python日期的加减等操作1. 日期输出格式化所有日期、时间的api都在datetime模块内。1. datetime => stringnow = datetime.datetime.now()now.strftime('%Y-%m-%d %H:%M:%S')#输出2012-03-05 16:26:23.870105strftime是datetime类的实例方法。2. string => datetimet_str = '2012-03-05 16:26:转载 2021-11-18 10:00:16 · 3180 阅读 · 0 评论 -
python window和linux路径兼容
Windows下路径是用‘\\’表示也可以使用'/',但是Linux下路径都是‘/’表示。因为python是跨平台的,有时候程序迁移会出现错误。解决办法1 可全部使用‘/’表示解决办法2 我们可以使用os.sep方法,它是一个字符串变量,在Windows下,他等于‘\\’,在Linux下,他等于‘/’。os.path.join()方法是自带os.sep的。import osimport sysa=sys.path[0]+os.sep # os.path[0]是输出当前.py所在的原创 2021-11-05 16:55:58 · 1673 阅读 · 0 评论 -
python PEP8问题及解决
1、shadows name ‘xxxx’ from outer scope 警告解决在PyCharm中提示shadows name ‘xxxx’ from outer scope,当你在外部有个相同名称的变量在方法内部被重新指定了新的值,也就是说你在外部的相同名称的变量压根就没有任何作用。所以PyCharm就回提示这个信息。这个时候就需要我们去调整具体代码了。python的变量作用域:模块对应global,最内层为local,外层为nonlocal变量查找顺序:内层作用域->外层-&g转载 2021-11-05 15:57:34 · 1331 阅读 · 0 评论 -
Python 问题记录
Pycharm提示:Expectedtype‘optional[bytes]’ got ‘str’ instead使用split类似函数的时候提示:Expectedtype‘optional[bytes]’ got ‘str’ insteadrow.split('\t')Python并不影响运行,但是如果强迫症的话,可以改用下面的形式:row.split(b'\t')Pythonpython字符串前面加u,r,b的含义u/U:表示unicode字符串,代表是对...转载 2021-11-05 14:35:19 · 593 阅读 · 0 评论 -
python动态调用函数
1、类函数class TestA: def active_call_function(self,name): print("here is active_call_function.") # getaattr(module_name, function_name),module_name传self即可 be_called_function = getattr(self, name) # 就直接调用。如果有其他参数,一样地传就原创 2021-11-01 21:18:23 · 1980 阅读 · 0 评论 -
python二进制十进制转化
十进制转换为8位二进制 :format(int(26),'08b')十进制转换为四位二进制 :format(int(4),'04b')二进制转换为十进制 :int("00011000",2)原创 2021-10-27 14:48:00 · 1218 阅读 · 0 评论 -
python:获取当前目录、上层目录路径
import osprint("===获取当前文件目录===")# 当前脚本工作的目录路径print(os.getcwd())# os.path.abspath()获得绝对路径print(os.path.abspath(os.path.dirname(__file__)))print("=== 获取当前文件上层目录 ===")print(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))print(os.path.a转载 2021-09-29 11:43:05 · 2899 阅读 · 0 评论 -
python 存储字典路径实现访问及修改值
存在以下需求,由于某个字典嵌套太多层,有太多的键,需要读取字典多个键的值,与输入比较,然后对多个键重新设置值。我们假设字典如下:kidshair = {'allkids':{'child1':{'hair':'blonde'}, 'child2':{'hair':'black'}, 'child3':{'hair':'red'}, 'child4':{'hair':'原创 2021-09-16 19:23:23 · 928 阅读 · 0 评论 -
python在不同层级目录import模块的方法
使用python进行程序编写时,经常会使用第三方模块包。这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入。不过如果是自己遍写的依赖包,又不想安装到python的相应目录,可以放到本目录里进行import进行调用;为了更清晰的理清程序之间的关系,例如我们会把这种包放到lib目录再调用。本篇就针对常见的模块调用方法汇总下。一、同级目录下的调有程序结构如下:-- src |-- mod1.py...转载 2021-08-25 11:36:30 · 333 阅读 · 0 评论 -
移动端自动化测试-Windows-Android-Appium环境搭建
安装建议:Nodejs 12 Appium 建议1.15 Java 1.8 SDK build-tools/ 下对应的版本,需要使用<=29的版本第一步:安装JDK安装JDK,本机如果带有1.7及以上版本的,则可忽略此安装步骤。JDK的安装包,百度下载即可。安装完成后配置环境变量。cmd下java -version检查环境变量是否配置成功。第二步:安装Android SDK安装Android SDK(安卓软件开发包),测试Android手机必然是要安装Andro转载 2021-07-16 16:23:09 · 148 阅读 · 0 评论 -
selenium xpath定位技巧
selenium table标签无法通过直接使用id或者class等方式定位如下,想定位table下span标签结果通过无法定位,原因是因为该元素在table标签下采用其他办法定位原创 2021-07-15 16:46:37 · 377 阅读 · 0 评论 -
Element 对象转化html
https://blog.csdn.net/qq_22592457/article/details/95490976原创 2021-06-25 17:12:22 · 1640 阅读 · 0 评论 -
xpath无法定位tbody的规避方法
//*[@id="main-panel"]/div/table/tbody/tr[1]/td[2]一直定位不到tbody标签,一直输出为空修改成://*[@id="main-panel"]/div/table//tr[1]/td[2]原创 2021-06-25 16:32:34 · 967 阅读 · 0 评论 -
Python3+Robot Framework+RIDE安装使用教程
Python3+Robot Framework+RIDE安装使用教程一、说明Python3----网上很多文章都是用Python2,Robot Framework的部分文档没更新也直接写着不支持Python3(如RIDE does not yet support Python 3),但事实上Robot Framework下的所有项目的最新版本都是支持Python3.6+了的,反倒是Python2以后不久可能就不支持了(如RIDE 1.7.4THIS IS THE LAST RELEASE SUPP.转载 2021-06-24 20:07:14 · 969 阅读 · 1 评论 -
【工作日记12】requests库获取cookie+web漏洞
昨天使用python的requests库发post请求实现了想要的效果,但是返回值是状态码,想要获取cookie,看下面操作:import requestsrespone=requests.get('http://www.jianshu.com')# respone属性print(respone.text) # 获取响应的页面内容print(respone.content) # 获取二进制页面内容print(respone.status_code) # 获取响应状态码print(resp原创 2020-07-04 23:43:28 · 654 阅读 · 0 评论 -
【工作日记11】python+post
继昨天的POST请求返回值不一致的问题,今天又被卡了挺久,不知道排查的思路,后面同事提醒了下,进行抓包看看构造出来的POST请求发的数据是否和web端发出的post请求是一样的。使用wireshark对web端发送的POST请求和使用python构造的post请求 分别抓包,结果如下:如图:左边为web端发送的,右边自己构造的。可以看出,主要的不同点就是post数据那一块。发现是数据那块的问题,那就尝试使用不同的方法处理数据,因为这个数据是json格式的,所以搜了下处理json格式的库,原创 2020-07-03 23:11:07 · 177 阅读 · 0 评论 -
关于python多进程调试的思路
最近使用多进程时,子进程中程序一直卡在某一步,然后就没有继续执行,原以为是多进程间互相干扰,最后发现是子进程报错了,而子进程不做任何处理,报错的时候,报错信息是不会打印的,因为一直找不到原因。后来突发奇想,先试试子进程单独这个函数能否正常运行,就不将函数放入进程,单独拿出来作为一个函数运行,结果发现报错。之后根据报错信息,现将函数调试好之后再放入进程中。...原创 2020-05-21 20:50:15 · 1636 阅读 · 0 评论 -
博客推荐
https://sutune.me/一个个人博客,博主写博客很有恒心,大概看了下,python基础基本都是我学过的,python自动化测试也学过一部分,APP自动化测试是正在学的,其余部分是我尚未学习的,此博主的博客值得一看!...原创 2019-11-12 19:43:53 · 104 阅读 · 0 评论 -
Python 学习之共享引用
文章目录Python 学习之共享引用 什么是共享引用 共享引用和在原处修改(Shared References and In-Place Changes) 共享引用和相等 参考资料 什么是共享引用假设我们在Python交互模式下输入以下语句:>>> a = 3>>> b = a1 2实际的效果就是变量a和b...转载 2019-11-12 19:13:42 · 412 阅读 · 0 评论 -
fiddler与python post请求笔记
python31.fiddler抓包,若textview中为一串字符串,如下图所示:则我们构造的data,应为如下格式: from urllib import parse import urllib.request post_data = {'flag':1,'BLC':0,'BLC_level':8,'light_restrain':1,'ligh...原创 2019-10-29 11:13:45 · 1548 阅读 · 0 评论 -
pyinstaller打包笔记
关于打包报错问题:pyinstaller打包有很多坑,如果环境中python已经安装了很多库,打包会将一些不会使用到的库打包进去,有时会因为这些库打包的时候报错:一个办法是将不需要的库打包时候却报错的库卸载掉,另一个解决办法就是使用一个较为纯净的虚拟环境,然后安装必要的库(程序里面使用到的库)。有些其他报错问题,如最常见的迭代超过限制等,参照以下博客修改生成的spec文件:https...原创 2019-10-19 16:33:18 · 152 阅读 · 0 评论 -
python 多继承的深度优先和广度优先
深度优先和广度优先(使用一个函数时,查找的顺序和优先级)1、类为经典类时,多继承情况下,会按照深度优先查找2、类为新式类时,多继承情况下,会按照广度优先查找经典类class A,新式类:class A(oobject)。但python3中取消了经典类,默认继承object,即python3中class A也是新式类。class D: def test(): ...原创 2019-02-23 16:37:41 · 2094 阅读 · 1 评论 -
自动化测试编程学习小结
目前接触的自动化测试的库主要有两种:1、selenium 2、win32gui1、selenium:用来操作浏览器,获取网页信息 2、win32gui、win32api、win32con加上句柄获取工具(spy++等)用来操作非浏览器软件,但并非所有软件的所有控件都能获取得到句柄对于那些无法识别句柄的按钮,我目前采用的办法是,寻找整个控件的句柄,然后通过打印控件坐标找到此控件的...原创 2019-02-22 16:45:07 · 823 阅读 · 0 评论 -
python with as的用法
With语句是什么?有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。如果不用with语句,代码如下:file = open("/tmp/foo.txt")data = file.read()file.close()这里有两个...转载 2019-01-26 10:25:34 · 117 阅读 · 0 评论 -
python3 获取子线程中函数返回值
先看如下例子: import threadingdef video(num): if num<10: signal=0 else: signal=1 return signalclass judge_video(threading.Thread): """docstring for judge_video""" def __init__(self, arg):...原创 2019-01-17 15:53:35 · 5707 阅读 · 0 评论 -
python *args 、**kwargs的用法、多参数默认值设置
*args的使用例子:def abc(h, *argv): print("1%s:"%h) for arg in argv: print("2:%s:"%arg)abc('ysdss', 'ggggg', 6666, 'mmfdf')在你不确定将要传递多少参数给函数时,可以定义*agrv参数,调用函数时,可以传递任意个参数给函数...原创 2019-06-12 19:06:35 · 2321 阅读 · 0 评论 -
将django项目利用mod_wsgi+Apache部署到linux服务器上
环境:阿里云服务器linux系统CentOS7,阿里云服务器自带的python2.7,mod_wsgi3.4,Apache(也叫httpd)2.4.6购买阿里云服务器后,在自己电脑上 下载Xshell5软件,用来远程连接服务器,连接服务器的操作网上教程很多,这里不再累述,连接服务器后,自动进入了linux系统的命令行模式,(若此时打命令ls和其他命令都没有反应,可以先打命令cd /home原创 2017-08-05 13:40:39 · 2984 阅读 · 2 评论 -
mysql安装
装了两天,一直没解决安装版本的一个问题:卡在star server这一步不动,最后提示启动超时,手动启动也启动不了,尝试了网上众多方法,删除注册表,文件夹卸载后重装,都没有用,都会卡在star server那一步,最后看到这个贴http://tieba.baidu.com/p/4518660115?pn=1。才终于装成功了。按照这个贴的第一页楼主的方法严格执行,就能启动mysql,但是此时没有原创 2017-07-01 16:42:14 · 505 阅读 · 0 评论 -
基于scrapy的简单爬虫
装好scrapy框架和一些相关的包后,为了方便,设置好系统变量,如果你电脑装了多个python版本,要把你需要用的python版本的路径写在系统变量PATH的最前面现在E:\python learn下建一个文件夹scrapy test,接着运行命令行转到新建的文件夹下。运行命令scrapy startproject article新建项目 目录,ji再转到项目原创 2017-06-30 23:04:10 · 754 阅读 · 0 评论 -
python locals()和globals()用法
1、locals() 和 globals() 是python 的内建函数,他们提供了字典的形式访问局部变量和全局变量的方式。def test(arg): a=1 b=2 data_dict = {} print locals() print globals()if __name__ == '__main__': test(3)输出:...转载 2019-02-20 13:48:02 · 4342 阅读 · 0 评论 -
使用pip报编码错误,使用django startproject test也报编码错误
如下图所示,使用pip时报错 File "D:\Microsoft Visual Studio\Shared\Anaconda3_64\Scripts\pip.exe", line 1SyntaxError: Non-UTF-8 code starting with '\x90' in file D:\Microsoft Visual Studio\Shared\Anaconda3_6...原创 2019-03-11 11:26:19 · 414 阅读 · 0 评论 -
创建简单django项目
一、安装好需要的环境,python环境及django包(本文环境win7+python 3.6.5+django 2.1.5)二、命令行先用cd 命令进入所需要创建项目路径下,再输入以下命令创建项目,其中name为项目名django-admin startproject name三、命令行进入刚创建好的项目路径下,再输入以下命令创建APP,其中app_name为APP名,项目中可创建...原创 2019-03-12 09:58:04 · 181 阅读 · 0 评论 -
如何提高网站的访问速度 - 从30秒到3秒的改变-django
2006年10月份,我开始对web开发产生了兴趣,并决定自己也尝试开发一个网站。在此之前,我做过3年的java application的开发,对web开发应该算一无所知。在比较了java,php,ror,和python后,我选择了基于python的web框架 - django 。到目前为止,我还认为这是一个明智的决定。Django高效的开发效率让我仅仅用一个月的业余时间,就基本完成了网站的开发。这...转载 2019-06-10 16:27:55 · 1384 阅读 · 0 评论 -
python注释SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes: truncated \UXX escape
python程序如下"""if __name__ == "__main__": # 支持文件夹批量导入 folder = 'tmp' #pathname = os.path.join(os.path.abspath('.'), folder) # 也支持单个文件的转换 pathname = r'C:\Users\caiml\De...原创 2019-06-12 17:28:41 · 1973 阅读 · 4 评论 -
Django学习笔记之自定义中间件的使用(实现简单站内消息)
1、django流程、中间件流程图2、中间件的作用官方文档所说:Middleware is a framework of hooks into Django’s request/response processing. It’s a light, low-level “plugin” system for globally altering Django’s input ...原创 2019-07-12 18:58:47 · 453 阅读 · 0 评论 -
Django 学习笔记之自定义标签、过滤器的使用(实现动态为html标签class属性赋值)
1、Django流程图2、自定义标签、过滤器的作用: 在使用django时经常会遇到一种情况,就是从视图view中传递给模板template的值需要再进一步处理才能在模板中使用,但是模板中是不能运行python语句的,比如遇到下面的问题:视图传递了一个变量node.id给模板,模板需要根据这个值去跟数据库进行交互,得出的结果来为前端html中的<spa...原创 2019-07-12 18:58:22 · 320 阅读 · 0 评论 -
Django之cookie,session,认证系统auth
Django之cookie,session,认证系统auth导航COOKIE 与 SESSION 概念 登陆应用 Django实现的COOKIE Django实现的SESSION 认证系统auth auth模块 User对象 COOKIE 与 SESSION概念cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需...转载 2019-04-29 13:30:49 · 299 阅读 · 0 评论 -
django 内建标签
django 内建标签autoescape控制当前自动转义的行为,有on和off两个选项{% autoescape on %} {{ body }}{% endautoescape %}block定义一个子模板可以覆盖的块,在模板中(上一节)有使用示例comment注释,{%comment%}和{%endcomment%}之间的内容...转载 2019-04-28 16:53:25 · 219 阅读 · 0 评论