
python笔记
木一亢
这个作者很懒,什么都没留下…
展开
-
Python时间戳和时间格式转换(毫秒)
def getdate1(t="2020-08-27 13:30:28"): '''时间转成时间戳''' t1 = time.strptime(t, '%Y-%m-%d %H:%M:%S') # print(t1) t2= int(time.mktime(t1))*1000 # print(t2) return t2def getdate2(t="1598506228000"): '''时间戳转换为时间''' t1 = float(t)/1原创 2020-08-27 15:01:53 · 6670 阅读 · 0 评论 -
JsonPath笔记
JsonPath借助JSONPath表达式从JSON中抽取数值,进行断言。表达式 意义$ 表示JSON对象的根节点.property 表示在某个对象的属性[‘property’] 表示在某个对象的属性,.property作用一样,当property包含点号时就得用这种形式[n] 表示一个数组中的下标为n的元素[index1,index2,…] 表示一个数组中的下标为index1,index2,…的元素…property 递归查找所有属性名为property的值,返回一个list通配符,匹原创 2020-07-28 14:58:15 · 173 阅读 · 0 评论 -
requests请求访问java服务,参数中带null
访问java网站的时候,某些参数会传null,如:传空类型null,对应在python的为None,把请求中的null替换成None即可:原创 2020-07-28 14:31:00 · 537 阅读 · 0 评论 -
Python-requests查看请求内容
import requestsimport jsonimport logging# These two lines enable debugging at httplib level (requests->urllib3->http.client)# You will see the REQUEST, including HEADERS and DATA, and RESPONSE with HEADERS but without DATA.# The only thing miss转载 2020-07-28 14:17:05 · 4916 阅读 · 0 评论 -
python锁小结
from threading import Threadimport os, timecount = 0def work(): global count temp = count time.sleep(0.1) count = temp + 1 def main(): t = [] for i in range(100): p = Thread(target=work) t.append(p)原创 2020-07-06 08:45:09 · 155 阅读 · 0 评论 -
python-redis使用
根据菜鸟教程的redis教程写的部分总结import redisr=redis.StrictRedis(host='localhost',port=6379,db=0)r.set('foo','bar')r.get('foo')#redis 取出的结果默认是字节,设定 decode_responses=True 改成字符串。r1 = redis.Redis(host='localhost', port=6379, decode_responses=True)r1.set('name', 'r转载 2020-06-29 14:18:24 · 2032 阅读 · 0 评论 -
python smtp发邮件
"""封装发送邮件的方法"""import smtplibimport timefrom email.header import Headerfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom Common import Logfrom Conf.Config import Configclass SendMail: def __init__(self.原创 2020-06-28 16:07:50 · 1231 阅读 · 0 评论 -
pymysql插入测试数据模板
import pymysqlimport socketimport structimport randomip=""user=""pwd=""database=""index=5000time=903139688000def getData(): data1=[] data2=[] data3=[] for i in range(index,index+5000): name="Test%s"%i data1.appe原创 2020-06-23 10:45:21 · 203 阅读 · 0 评论 -
pymysql总结
下载pip install pymysql连接数据库并执行sqldef executeSql(sql): # 打开数据库连接 db = pymysql.connect(host=ip,port=3306,user=user,password=pwd,db=database,charset='utf8') cursor = db.cursor() try: res=cursor.execute(sql) except Exception as e原创 2020-06-03 17:35:52 · 184 阅读 · 0 评论 -
Django常用命令
安装Django: pip install django 指定版本 pip3 install django==2.0新建项目: django-admin.py startproject mysite新建APP : python manage.py startapp blog启动:python manage.py runserver 8080同步或者更改生成 数据库:pytho...原创 2020-04-22 14:51:12 · 141 阅读 · 0 评论 -
Django数据迁移(sqllite3 > mysql)
步骤:1.当前setting数据库配置为sqlite3,执行python manage.py dumpdata --exclude=contenttypes --exclude=auth.Permission > initial_data.json,生成json格式数据.2.更改当前setting配置为mysql,在数据库创建相应数据,执行python manage.py migr...原创 2020-04-20 13:37:29 · 416 阅读 · 0 评论 -
Django+mysql配置(将默认的sqllite3换成mysql) mysqlclient 1.3.13 or newer is required; you have 0.9.3.错误解决
1.环境说明项目虚拟环境如下:2.配置mysql1.pip install pymysql 下载最新版本pymysql,也可以指定下载0.9.3的版本2.项目的主setting文件,注释掉DATABASES配置,填写mysql的配置# DATABASES = {# 'default': {# 'ENGINE': 'django.db.backends.sql...原创 2020-04-17 15:10:17 · 162 阅读 · 0 评论 -
Python-openpyxl小结(含IP和MAC随机生成)
生成随机IP和MAC #MAC: # ":".join(["%02x" % x for x in map(lambda x: random.randint(0, 255), range(6))]) #IP # socket.inet_ntoa(struct.pack('>I', random.randint(1, 0xffffffff)))加载原有exca...原创 2020-04-14 09:40:12 · 333 阅读 · 0 评论 -
Python apscheduler定时任务简单应用
import datetimeimport timefrom apscheduler.schedulers.blocking import BlockingSchedulerdef func(): now = datetime.datetime.now() ts = now.strftime('%Y-%m-%d %H:%M:%S') print('do func ti...原创 2020-04-13 17:56:29 · 339 阅读 · 0 评论 -
Python日志等级+内容的查找和下载
def findK(self,name,key): '''寻找key并下载内容行到对应的文件中 name:日志名 key:寻找的登记 ''' print('find started') deal_log = './deal/deal_'+name.split('/')[-1].r...原创 2020-04-13 17:44:46 · 114 阅读 · 0 评论 -
Python删除文件夹下所有文件和文件夹
def __del_file(self,path): ls = os.listdir(path) for i in ls: c_path = os.path.join(path, i) if os.path.isdir(c_path): self.__del_file(c_pat...原创 2020-04-13 17:41:40 · 1990 阅读 · 0 评论 -
pyqt5配置环境
环境配置1.pip下载虚拟环境pip下载安装pyqt5和pyqt5-tools。2.配置pycharmFile–Setting–Tools–External Tools中添加QTDesigner和PyUIC。QTDesigner在pyqt5-tools包中,具体路径为venv\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe,工作目录填$...原创 2020-04-13 17:40:12 · 866 阅读 · 1 评论 -
Python paramiko模块小结
检测连接检测是否连接成功 def isConnect(self): '''连接是否成功''' try: transport = paramiko.Transport((self.IP, self.port)) if (self.pwd == ''): # 加载密钥 ...原创 2020-04-13 17:20:53 · 328 阅读 · 0 评论 -
selenium-ide+unittest+pytesseract实现验证码识别登录测试
目录结构:1.通过selenium-ide录制流程导出python代码把代码放入test_one.py里,在加上写的验证码识别模块(上一篇博文里)test_one.py代码:# Generated by Selenium IDEimport pytestimport timeimport jsonfrom selenium import webdriverfrom seleni...原创 2020-01-19 15:36:41 · 863 阅读 · 0 评论 -
Python-pytesseract识别验证码(安装-使用)
1.安装pytesseractwindows github wiki:https://github.com/UB-Mannheim/tesseract/wiki64位:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.0.0-alpha.20191030.exe语言包:https://raw.githu...原创 2020-01-19 10:25:54 · 3042 阅读 · 0 评论 -
python unittest模块小结
被测试代码:class Count: def __init__(self,a,b): self.a=a self.b=b def add(self): return self.a+self.b def sub(self): return self.a-self.b测试代码:import unitte...原创 2020-01-18 11:18:12 · 227 阅读 · 0 评论 -
python 函数注释(function-annotations)
官方文档:链接:https://docs.python.org/3/tutorial/controlflow.html#function-annotationsstr为注释的内容,ham的注释为str,eggs的注释为str,默认值为eggs->str为返回值的注释内容...原创 2020-01-18 10:24:09 · 466 阅读 · 0 评论 -
Python日志默认和启动程序小结
import logging# 禁用日志,范围:级别和级别以下的日志# logging.disable(日志级别)#禁用所有日志#logging.disable(logging.CRITICAL)# 日志的级别:(自己决定)# logging.debug()# logging.info()# logging.warning()# logging.error()# 最高级别,表示...原创 2020-01-15 11:24:03 · 207 阅读 · 0 评论 -
RoborFrameWork-Ride自定义库实践
1.Python包里面新建文件夹MyLibrary,创建__init.py和myclass.py文件内容如下:__init.py:import sys# 加入环境变量sys.path.append(r'D:\Python\Python37\Lib\site-packages\MyLibrary')from myclass import MyClassclass MyLibra...原创 2020-01-03 15:54:57 · 469 阅读 · 0 评论 -
Python3.X RobotFrameWork-Ride小结(解决中文乱码)
中文乱码:\Python\Python37\Lib\site-packages\robotide\contrib\testrunner\testrunnerplugintextctrl.AppendTextRaw(bytes(string, encoding[‘SYSTEM’]))改成:textctrl.AppendTextRaw(bytes(string, encoding[‘OUTPUT...原创 2020-01-03 15:40:32 · 1776 阅读 · 0 评论 -
python3.X robotframework-ride安装配置+中文乱码解决
关于python3的ride的安装走了许多弯路,现在记录下来。最开始在网上查询许多,基本都是pip一路安装下来,按照做下来后,发现ride运行不了后续在官方文档发现 python3.8仅有FUTURE RIDE 2.0支持,需要安装一个3.7版本的python,安装过后改下环境变量。启动ride.pycd D:\Python\Python37\Scriptspython ride.p...原创 2019-12-31 12:14:44 · 1670 阅读 · 0 评论 -
python遍历目录并记录所有图片的二进制
把所有的图片二进制存储在csv里,便于使用import base64import osimport csvdef getCsv(): os.chdir("./picture") # print(os.getcwd()) f=open('../result.csv','w', newline='') #指定newline,否则csv文件会产生空行 fWrite...原创 2019-12-27 14:13:16 · 145 阅读 · 0 评论 -
python文件遍历
root为遍历的路径名,字符串dirs为当前路径的文件夹,列表files为当前路径下的文件,列表原创 2019-12-27 13:27:54 · 112 阅读 · 0 评论 -
base64报错:AttributeError: partially initialized module 'base64' has no attribute 'b64encode'
结论:base64重命名了,文件改名字原创 2019-12-27 10:32:59 · 3844 阅读 · 1 评论 -
python selenium注意点
近期做了1个自动提交的python脚本,主要流程为:进入目标网站–>采集对应信息–>进入翻译网站–>采集对应英文–>进入提交信息网站–>添加对应的信息–>提交信息1.提交信息中的下拉框处理 h=driver.find_element_by_xpath('//*[@id="technology"]') h.send_keys('XXX')//输...原创 2019-10-12 09:22:32 · 178 阅读 · 0 评论 -
virtualenv新建虚拟环境出现UnicodeDecodeError错误
在新建虚拟环境的时候遇到了UnicodeDecodeError错误,错误提示可以看到错误代码的路径e:\python\lib\site-packages\virtualenv.py打开这个文件,ctrl+f查找decode941行的代码修改为line = line.decode(fs_encoding,“ignore”)重新生成venv,问题解决...原创 2019-09-04 14:40:11 · 893 阅读 · 0 评论 -
Python类属性、实例方法和property
类中可分为实例方法和数据成员实例方法指在类中定义的函数。实例方法的第一个参数必须是self。数据成员指在类中定义的变量,也称属性。根据定义位置的不同,可分为类属性和实例属性。类属性是指定义在类中,并且在函数体外的属性。类属性可以在类的所有实例之间共享值。实例属性是指定义在类的方法中的属性,作用于当前实例。@property@property可以把一个方法转换成属性,从而实现用于计算的属...原创 2019-08-23 15:26:05 · 204 阅读 · 0 评论 -
Python可变数据类型和不可变数据类型及函数参数传递
可变数据类型:列表、字典、集合当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。不可变数据类型:整型,字符串、元组当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。import copya = 5b = aa = 3print(a)print(b)print...原创 2019-08-22 17:16:56 · 1174 阅读 · 1 评论 -
Python Xpath总结
路径表达式表达式描述/从根节点选取。node选取此节点的所有子节点//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。.选取当前节点。…选取当前节点的父节点。@选取属性例://title[@lang] 选取所有拥有名为 lang 的属性的 title 元素。通配符通配符描述*匹配任何元素...原创 2019-07-22 22:11:58 · 186 阅读 · 0 评论 -
Python selenium使用
火狐浏览器(无头使用)使用webdriver的火狐插件的时候,如果想要不打开浏览器界面,在使用的时候加入:from selenium.webdriver.firefox.options import Optionsoptions = Options()options.add_argument('-headless')options.headless = Truedriver = we...原创 2019-08-03 15:21:22 · 262 阅读 · 0 评论 -
Python动态规划(最大公共字符串和最大公共子序列)
求最大公共字符串代码:def LCS_str(s1, s2): # 求2个字符串的最大公共字符串 # 求对角线上的 arr = [[0 for i in range(len(s2) + 1)] for j in range(len(s1) + 1)] print(arr) max = 0 p = 0 for i in range(len(...原创 2019-07-25 20:43:35 · 1595 阅读 · 0 评论 -
Python爬虫爬取图片(存图片md5到数据库)
分析爬取地址:https://www.58pic.com/piccate/10-0-0-p1.html可以看出p1、p2代表页数详情页在class="thumb-box"元素里具体图片在class="show-area-pic"里数据库创建import pymysqldb = pymysql.connect('localhost','root','','_pro')curs...原创 2019-07-29 20:06:08 · 3577 阅读 · 2 评论 -
Python笔记-正则表达式
1.行定位符描述子串边界。^表示开始,$表示结束^ba 匹配以ba开头的字符串ba$ 匹配以ba结尾的字符串ba 匹配含有ba的字符串2.元字符行定位符也是元字符.匹配除换行符以外的任意字符\w匹配字母、数字、下划线或汉字\W与\w相反\s匹配当个的空白符(含tab和\n)\S与\s相反\d匹配数字\b匹配单词的开始或结...原创 2019-07-17 20:31:28 · 684 阅读 · 0 评论 -
配置Qt Designer到PyCharm
今天跟着网上的教程配置Qt Designer到PyCharm里面的时候,遇到了各种问题,这里做下总结。1.下载第三方库pip install pyqt5pip install pyqt5-tools如果在下载途中遇到把引号里面的命令打一遍更新版本;如果遇到这是网速问题,可以多试几次,也可以去官网,wheel安装(我没试过)2.配置工具栏-File-Settings-Proje...原创 2019-07-18 20:54:42 · 705 阅读 · 0 评论