python
文章平均质量分 65
殊二
这个作者很懒,什么都没留下…
展开
-
栈与队列
栈与队列一,栈:栈的特点:先进后出,仅允许在表的一端进行插入和删除运算列表实现栈:参考地址:https://blog.csdn.net/zhisuihen6347/article/details/84445813列表使用append在最后添加新元素,使用pop移除最后一位元素思想理解:在使用列表实现栈中,因为每次append增加元素时,会导致列表中底层数值可能发生位置移动导致效率低下,其中一个解决办法就是先默认一个值为None的列表长度n,当栈满时,再将列表长度扩大为n*2,当栈元素被移除,所原创 2021-04-12 15:08:00 · 116 阅读 · 0 评论 -
二叉树和链表(python)
背景:之前对二叉树的使用不是很明白,把看过一些别人写的文章放一起,便于自己查看1,二叉树基础:https://www.jianshu.com/p/bf73c8d50dc22,python实现二叉树:https://blog.csdn.net/weixin_42906066/article/details/102784049https://www.cnblogs.com/anzhengyu/p/11083568.html...原创 2021-01-20 20:35:43 · 216 阅读 · 0 评论 -
多进程查询数据,multiprocessing模块
https://blog.csdn.net/ctwy291314/article/details/89358144原创 2020-11-19 19:57:36 · 298 阅读 · 0 评论 -
sql索引
如果数据量级比较大时,还需要关注sql索引查询,参考https://blog.csdn.net/weixin_36586564/article/details/79641748原创 2020-11-18 20:11:54 · 87 阅读 · 0 评论 -
多线程查询数据,threading模块
背景对数据库中的订单进行查询,将符合条件的订单筛选出来。但是就测试环境仅查询6000条数据进行一一判断时,发现使用了8分钟,更别说更多数据了。更改后可以减少查询时间,总查询时间大概1.5分钟。可能并不是好的方法,但是自己做个记录以供下次参考情况:1,订单表orders中的数据量比较大,不能一次性查询全部数据,需要分批查询2,订单筛选涉及到两个表,一个是orders表,将符合条件的订单筛选出来;另一个是plan表,需要将每条订单去plan表里查询,如果符合条件,则把该订单晒出来3,需要减少查询时间原创 2020-11-16 19:47:20 · 234 阅读 · 0 评论 -
openpyxl模块
openpyxl模块:https://www.cnblogs.com/programmer-tlh/p/10461353.html原创 2020-10-20 18:46:08 · 312 阅读 · 3 评论 -
jenkins构建执行脚本提示permission-denied
背景脚本在服务器上可以正常手动执行,但是在jenkins上运行时提示permission-denied,查询了解决方法也实践成功解决,在此记录一下问题脚本在服务器上可以正常手动执行,但是在jenkins上运行时提示permission-denied原因jenkins用户的权限不够解决1.修改jenkins配置检查jenkins配置配置文件,将执行用户改成root,不然后面可能出现执行shell没有权限sudo vim /etc/sysconfig/jenkins # 编辑文件,这里需要使转载 2020-10-09 17:39:36 · 4070 阅读 · 3 评论 -
区分本地和服务器环境处理代码
背景:在写脚本过程中,因为本地环境和服务期环境不一样,部分功能的代码需要根据当前环境单独处理,最开始的做法是传到服务器后再将不能用的代码注释,但是每次都这么做比较费时间简单方法:判断当前服务器ip,然后根据不同的IP处理不同代码判断服务器ip方法,然后在其它地方直接调用该方法即可# coding = utf-8import socketdef get_host_ip(): """ 查询本机ip地址 :return: """ try: s原创 2020-09-28 18:53:13 · 727 阅读 · 1 评论 -
python之re模块
背景:在写监控脚本过程中发现会使用到正则表达式以及re模块来匹配相应内容并校验判断,然后在使用过程中对re模块下的一些方法使用场景不是很熟悉,所以对re模块进行一个简单概要的学习和记录,下次即使忘记了也可以参照这篇快速回忆参考地址:https://www.cnblogs.com/chengege/p/11190782.html一,re模块之re.compile()re.compile(string)就是返回一个pattern对象,参数是原生字符串对象pattern=re.compile('##(.原创 2020-09-24 14:04:14 · 254 阅读 · 0 评论 -
python函数定义中不要使用可变类型作为默认参数
在Python中当函数被定义时,默认参数只会运算⼀次,⽽不是每次被调⽤时都会重新运算。应该永远不要定义可变类型的默认参数列表和字典都属于可变类型,当作为默认参数时,因为默认参数只会运行一次,所以会在上一次调用的基础上进行处理如:#列表作为默认参数def add_to(num, target=[]): target.append(num) return targetprint(add_to(1))print(add_to(2))print(add_to(3))#输出:[1]原创 2020-08-30 17:11:47 · 524 阅读 · 0 评论 -
pyhon发送邮件(解决未知发件人以及不展示其它收件人的情况)
为了方面使用直接复制出来了,可以直接使用# coding = utf-8import requestsfrom selenium import webdriverfrom selenium.webdriver.firefox.options import Optionsimport timefrom jinja2 import Environment, FileSystemLoaderimport shutil,osimport smtplibfrom email.mime.text im原创 2020-08-30 15:01:36 · 1552 阅读 · 0 评论 -
firefox+geckodriver+selenium在centos上运行服务器内存溢出
背景:写的selenium脚本在服务器1上执行正常,因为特殊原因需要迁移到另外一台服务器2上执行,firefox+geckodriver+selenium+python的版本都是一样,脚本也一致,但是在服务器2上执行却发现机器内存一直在减少,直至挂掉使用的环境版本:Python 3.6.7Firefox 68.6.0esrgeckodriver 0.26.0selenium 3.141.0脚本demo:原因:最后排查出原因时因为机器1和机器2的centos的版本不一样,机器1是cento原创 2020-08-30 15:05:09 · 655 阅读 · 0 评论 -
python之利用Pytest + JSONPath 进行接口响应断言
https://blog.csdn.net/liuchunming033/article/details/106272542转载 2020-08-30 15:04:25 · 1051 阅读 · 1 评论 -
python在linux下执行cmd命令且获取执行结果和执行返回数据
背景:开发使用的是php语言,而自己使用的是python语言,有时候需要借助开发以实现的功能,可以使用python执行php脚本,其中使用到subprocess模块commands.getstatusoutput(command) 返回一个元组(命令执行状态码, 命令执行结果)实现:import getstatusoutputcommond="php /home/q/php/bx2a_core/cli.php test/send_gift 2000003334 2000003333 1000 "原创 2020-08-02 13:21:53 · 1319 阅读 · 0 评论 -
python之collections
参考链接:https://blog.csdn.net/chenxuan5849/article/details/100792575一,ordereddictOrderedDict类似于正常的词典,只是它记住了元素插入的顺序,当迭代它时,返回它会根据插入的顺序返回。小知识点:from collections import OrderedDict dict1 = dict() # 普通字典dict2 = OrderedDict() # 有序字典1,和正常字典相比,它是”有序”的(插入转载 2020-07-23 21:32:46 · 221 阅读 · 0 评论 -
Python3中遇到UnicodeEncodeError: ‘ascii’ codec can’t encode characters in ordinal not in range(128)
参考文件后有效解决办法:在运行python命令前添加参数 PYTHONIOENCODING=utf-8 python xx.py参考文件:https://blog.csdn.net/u011415481/article/details/80794567原创 2020-06-18 11:50:33 · 168 阅读 · 0 评论 -
python之https请求,多个接口公用登录态,session的使用
举例class Check_tfurl(): def __init__(self): '''获取后台接口的投放链接,1页20条''' self.urls=[] self.errors=[] self.ids=[] requests.packages.urllib3.disable_warnings() header = { "Referer": "xxx" }原创 2020-06-17 16:05:21 · 916 阅读 · 0 评论 -
python-datetime和unix时间戳的相互转换
背景:写脚本查数据库时需要用到时间,库里存的时间格式是“2020-06-17 00:00:00”格式,因为查询需要查x分钟之前的数据,用常规datetime的转换方式在本地是可以实现,但是传到服务器上不能使用不能再linux上使用的情况 db=MyDB() currenttime_before = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) currenttime = (datetime.datetime.now()原创 2020-06-17 15:59:31 · 814 阅读 · 0 评论 -
linux下执行selenium的自动化脚本,基于firefox火狐浏览器
背景:liunx上装chrome驱动和客户端没能成功,后来安装的是firefox。为了检查后台运营配置的链接是否有问题,写了一个脚本用户检查链接是否能正常打开,其中使用到了selenium安装:linux上下载firefox,下载geckodriver驱动器,存放的路径是/usr/bin/geckodriver在liunx上执行报错:selenium.common.exceptions....原创 2020-04-02 17:09:22 · 3058 阅读 · 0 评论 -
python之内置函数
divmod(a, b)它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对于混合操作数类型,适用双目算术运算符的规则。对于整数,结果和 (a // b, a % b) 一致,分别对应取整数和取余数对于浮点数,结果是 (q, a % b) ,q 通常是 math.floor(a / b) 但可能会比 1 小。如:将153拆解a,b=divmod(153,100) #...原创 2020-03-07 19:51:52 · 114 阅读 · 0 评论 -
Python之容器(Collections)模块
Python附带⼀个模块,它包含许多容器数据类型,名字叫作collections模块我们将讨论的是:counter ,dict的子类,计算可hash的对象;defaultdictdequenamedtupleenum.Enum (包含在Python 3.4以上)Countercollections模块中有一个类Counter,可以支持方便、快速的计数。通过查看源码可以知道Coun...原创 2020-03-07 15:55:42 · 184 阅读 · 0 评论 -
python_⽣成器
⽣成器迭代器是⼀个让程序员可以遍历⼀个容 器(特别是列表)的对象。然⽽,⼀个迭代器在遍历并读取⼀个容器的数据元素时,并不会执⾏⼀个迭代。你可能有点晕了,那我们来个慢动作。换句话说这⾥有三个部分:可迭代对象(Iterable)迭代器(Iterator)迭代(Iteration)可迭代对象(Iterable)Python中任意的对象,只要它定义了可以返回⼀个迭代器的__iter__⽅法...原创 2020-02-28 14:23:23 · 362 阅读 · 0 评论 -
多线程调用一个接口,使用 threading
#!/user/bin/env python#coding=utf-8import requestsimport datetimeimport timeimport threadingclass url_request(): times = [] error = [] def req(self):#请求首页接口 myreq=url_reques...原创 2020-02-12 23:43:52 · 2530 阅读 · 0 评论 -
python5_魔法方法,类的声明和继承,工厂方法和单例模式,栈和队列
单下划线和双下划线的区别:1 xx单下划线:protected,保护类型变量,只能允许其本身与子类进行访问,不能用于’from module import *’中,不能被调用2. _ _ xx双下划线:private,私有类型变量,只允许类本身进行访问,连子类也不允许3. _ _ xx _ : 定义的是特列方法,如:_ _ init _ _,一般是python内部定义的变量名,不需要自己定...原创 2020-03-02 10:55:04 · 179 阅读 · 0 评论 -
python基础3_高阶内置函数&线程进程
类型转换-bool,int, long,float, bytearray,str, unicode, basestring ,list,tuple,set , dict, frozenset, complex。◼ 文件IO- input, print, open, file, format◼ 数学运算- abs,divmod, pow,sum, cmp, bin, oct, hex, chr...原创 2019-08-09 14:20:52 · 234 阅读 · 2 评论 -
python基础2_1异常,列表,元组,字典,作用域和全局变量,函数参数
异常:try: a = int(input('输入数字:'))except ValueError: print('except:抓住错误啦')else: print('else:忽视你的错误,假装没抓到错误')finally: print('finally:不管你错没错我都爱你')输入数字,打印结果输入数字:12else:忽视你的错误,假装没抓到错误...原创 2019-07-25 15:28:23 · 295 阅读 · 0 评论 -
python基础2_闭包函数和装饰器
闭 包:参考学习地址:https://blog.csdn.net/qq_27825451/article/details/84627016在函数中可以(嵌套)定义另一个函数时,若内部的函数引用了外部的函数的变量,则可能产生闭包闭包的作用:1.保存函数的运行环境状态2. 保存闭包环境内的局部变量闭包的特征:1.必须要有函数的嵌套2. 内层函数一定要用到外层函数中定义的变量(自由变量)...原创 2020-02-22 11:53:20 · 165 阅读 · 0 评论 -
for后接else的用法
转载自:https://blog.csdn.net/wj1066/article/details/81913696如果for循环正常结束,else中语句执行。如果是break的,则不执行# eg1import numpy as npfor i in np.arange(5): print ielse: print("hello?")# 0# 1# 2# 3# 4...原创 2019-07-28 19:36:41 · 4496 阅读 · 1 评论 -
python6_1生成器和迭代器
生成器:(一边循环一边计算)学习地址:https://www.cnblogs.com/wj-1314/p/8490822.html目的:不必创建完整list,节省内存理解:一个函数中只要存在yield就代表不是一个普通函数,而是一个生成器函数每次运行到yield后就会停止运行,等下次再调用时再继续执行yield之后的语句,再循环执行到yield后又停止()当生成器中有返回值语句ret...原创 2020-07-08 21:54:05 · 97 阅读 · 0 评论 -
collections模块的Counter类
http://www.pythoner.com/205.html转载 2019-08-13 19:05:44 · 89 阅读 · 0 评论