Python
基础
东贝鸟
金庸
展开
-
jsonschema脚本测试
jsonschema测试原创 2022-08-22 17:02:18 · 231 阅读 · 0 评论 -
json的序列化和其他类型数据
jsonimport jsonimport decimalfrom datetime import date, datetimeclass CustomJsonEncoder(json.JSONEncoder): def default(self, field): if isinstance(field, date): return field.strftime('%Y-%m-%d') elif isinstance(field,原创 2022-05-11 10:50:01 · 414 阅读 · 0 评论 -
pdf转word
-- coding: utf-8 --from pdf2docx import Converterpdf_file = r’C:\Users\ThinkBook\Desktop\搬家事宜安排.pdf’docx_file = r’C:\Users\ThinkBook\Desktop\搬家事宜安排.docx’cv = Converter(pdf_file)cv.convert(docx_file, start=0, end=None)cv.close()...原创 2021-08-27 15:10:44 · 101 阅读 · 0 评论 -
driver接管当前浏览器
首先就是先cmd中敲下面的命令chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"#--remote-debugging-port,我们可以随意指定打开的端口#-user-data-dir,这个是指定创建Chrome配置文件的目录,为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件#一定将chrome.exe的路径添加到环境变量中然后就会打开一个浏览器接下原创 2020-10-16 20:22:28 · 633 阅读 · 0 评论 -
python global 和self
可以看下下面的代码,其实是报错的。 a 这个变量不是全局的变量,在 two 这个 方法里,是不能打印的,class qq(): a = 99 def __init__(self): pass def one(self): a = 5 print(a) def two(self): print(a) w = qq()w.one()w.two()再看下下面的代码,我就是加一个 glob原创 2020-07-25 13:11:07 · 1328 阅读 · 0 评论 -
python模拟服务器,处理浏览器请求
import socketdef deal(txt): txt = str(txt) all = txt.split(r'\r\n') num = len(all) dict = {} for i in range(num): try: if i == 0: key = all[i].split('/', 1)[0] value = all[i].split(原创 2020-06-27 23:38:24 · 291 阅读 · 0 评论 -
python 正则表达式
python中的正则,用的最多的,我觉得就是一个re.search()re.findall()search就是寻找这整个个字符串,返回第一个,要是想获取内容,后面就加一个 group()findall就是寻找这整个个字符串,返回全部,以列表形式。import rea = '123123sdffg4456789hjiokUWIWOOASD上午有空hjkl;123后即可'rule = '[0-9]{1,99}'b = re.search(rule,a)print(b.group())结原创 2020-06-21 13:40:48 · 99 阅读 · 0 评论 -
装饰器(三)被装饰函数带返回值
接上篇def timer(time_type): print(time_type) def outer(func): def inner(*args,**kwargs): start = time.time() return_func = func(*args,**kwargs) # 接收返回值 end = time.time() res = end - start原创 2020-06-07 11:21:10 · 422 阅读 · 0 评论 -
装饰器(二)带参数
被装饰函数含参数def timer(func): def gf(name): # 加参数 start = time.time() func(name) # 加参数 end = time.time() res = end - start print('时间结果是:', res) return gf@timer # foo = timer(原创 2020-06-07 11:16:21 · 97 阅读 · 0 评论 -
装饰器(一)不带参数
首先有一个函数def foo(): time.sleep(3) print('in foo') 然后就是添加功能:计时def timer(func): # 传一个函数名进去 start = time.time() func() end = time.time() res = end - start print('时间结果是:',res) timer(foo) # 改变了函数的调用方式def foo():原创 2020-06-07 10:39:28 · 133 阅读 · 0 评论 -
成功解决pyinstaller打包AttributeError:type object pandas._TSObject has no attribute _reduce_cython_
成功解决pyinstaller打包AttributeError:type object pandas._TSObject has no attribute reduce_cython我在导入包的时候我不行我最后就是直接pip install pandas原创 2020-03-30 16:02:26 · 1413 阅读 · 0 评论 -
pip换源
pip换源https://www.jianshu.com/p/306b1177466f转载 2020-03-26 10:55:02 · 84 阅读 · 0 评论 -
获取标签下的另一种标签的全部文本
from selenium.webdriver.common.by import Byqq = driver.find_element(By.CLASS_NAME,"buyer-cart-seller-order").find_elements(By.TAG_NAME,'span')for i in qq: t = i.text print(t)先是定位到父框,d...原创 2020-03-25 09:22:17 · 350 阅读 · 0 评论 -
自动化测试--切换句柄
handles = driver.window_handlesdriver.switch_to.window(handles[-1])以上就是切换句柄的语句切换这个的原因是你去打开一个超链接的时候,有时候是会打开一个新的页面的,这时候,你的脚本还是停在原来的页面去寻找元素,这时候就要要切换页面获取当前的handle名字handle = driver.current_window_ha...原创 2020-03-24 14:40:48 · 1605 阅读 · 1 评论 -
python获取当前时间
import datetimetheTime = datetime.datetime.now()print(theTime)原创 2020-03-20 16:09:28 · 87 阅读 · 0 评论 -
python操作exec'l
import xlrd # 导包class Read: def __init__(self): self.LI = [] # 定义两个列表去装数据,一个装全页的,一个装行的 self.li = [] def read_xl(self,sheet): book = xlrd.open_workbook('....原创 2020-03-20 09:51:32 · 119 阅读 · 0 评论 -
python模拟键盘鼠标
import pymouse,pykeyboard,os,sysfrom pymouse import *from pykeyboard import PyKeyboard//分别定义一个实例m = PyMouse()k = PyKeyboard()鼠标操作:m.click(x,y,button,n) –鼠标点击x,y –是坐标位置buttong –1表示左键,2表示点击右键n...原创 2020-03-19 15:07:01 · 338 阅读 · 0 评论 -
cv2
from selenium import webdriverimport timeimport cv2 as cvfrom PIL import ImageGrabfrom pymouse import PyMousedef find_img(source_path):driver = webdriver.Firefox()driver.get(‘http://nt2j.kbm.xe...原创 2020-03-20 09:32:47 · 103 阅读 · 0 评论 -
chrome版本查询和对应驱动下载
查看自己谷歌的版本在地址栏输入 chrome://version/这是我的谷歌浏览器的版本复制版本号,最后一位小数点后面的不要比如我的版本号是74.0.3729.169,只复制74.0.3729就行了然后把复制下来的数字加到“https://chromedriver.storage.googleapis.com/LATEST_RELEASE_”后面。例如我的地址“https://chr...原创 2020-03-09 01:21:40 · 1385 阅读 · 0 评论 -
面向过程编程和面向对象编程的区别
面向过程(pop)和面向对象(oop)的比喻突然想吃番茄炒蛋面向过程的做法: 去买番茄和鸡蛋,买回来后,洗、切、炒…面向对象的做法: 去到饭店"老板,来个番茄炒蛋"面向过程编程面向过程编程是一种以过程为中心的编程思想,分析出解决问题的步骤,然后用函数把这些步骤一步一步实现。面向过程编程,数据和对数据的操作是分离的。面向对象编程面向对象编程是将事物对象化,通过对象通信来解决问题...原创 2020-03-02 16:36:35 · 216 阅读 · 0 评论 -
python操作csv文件
面对这个报错,看有没有转义 路径前面添加 r检查路径是否是对的手动输入盘符,大写改小写,最后的挣扎就是 放在当前目录下,不写盘符import pandas as pd # 导包filename='314.csv' # 文件名data = pd.read_csv(filename) # 引入一个读文件的函数# print(data) # 读取全部内容...原创 2020-03-02 16:16:11 · 139 阅读 · 0 评论 -
jdk下载和配置,tomcat下载配置
这个安装包是我在官网下的,比较慢,我下到了我的网盘,等我整理好后,发下链接吧,双击就好了我看到很多地方都说要新建环境变量,我这里没加,似乎也是可以的以后要是出了问题,我再来加吧输入这两个命令试下看看对不对...原创 2020-01-23 09:58:38 · 127 阅读 · 0 评论 -
cv2
import cv2 as cvsource = cv.imread('big.png')temp = cv.imread('smoll.png')result = cv.matchTemplate(source,temp,cv.TM_CCOEFF_NORMED) # 匹配度pos_start = cv.minMaxLoc(result)[3] ...原创 2019-12-12 10:22:13 · 535 阅读 · 0 评论 -
静态方法和类方法
class House(object): # 定义一个类 __price = 'high' # 定义一个全局变量 @classmethod # 通类方法定义的方法,从另一个包里导这个包的时候 #他们的内存地址是一样的,这个在做 GUI自动化 的 时候, #浏览器就会是一直打开的同...原创 2019-12-11 14:56:12 · 94 阅读 · 0 评论 -
python 反射 getattr()
先定一个父模块class Parent: def __init__(self): self.username = 'test' def regist(self,username,passwd,passwd2): if username!='' and passwd==passwd2: print('注册好了') ...原创 2019-11-26 12:18:55 · 275 阅读 · 0 评论 -
python操作 e'xcel表格
import xlrdbook = xlrd.open_workbook('./data/testdata.xlsx') # 打开文件sheet = book.sheet_by_name('Sheet1') #确定获取的页数a = sheet.nrowsprint(a) # 获取文档的行数b = sheet.row_values(3) # 获取第三行的值...原创 2019-11-25 20:33:23 · 215 阅读 · 0 评论 -
selenium-iframe
python中用selenium包selenium 是对浏览器操作的包# 这是没有 iframfrom selenium import webdriverfrom time import sleepdriver = webdriver.Firefox() # 打开狐火浏览器driver.get('https://m.sunlands.com/92/CN/pc/cKH25h/in...原创 2019-11-24 19:35:50 · 208 阅读 · 0 评论 -
python用 xpath包
from selenium import webdriver # 从selenium导入webdriverfrom time import sleepdriver = webdriver.Firefox() # 调用火狐浏览器 () 调用之前是要把火# 狐的调用文件配置到python的环境里才可以通过python调用driver.get("http://...原创 2019-11-21 10:22:03 · 1418 阅读 · 0 评论 -
python 代码编辑文本文件
在 D 盘有一个 test.txt 文件,对他读写with open(r'D:/test.txt','w') as f: f.write('789') # 第一个 r 是消除转义,正则里 /t /n /s都 # 是转义 ,有其他的含义 # w是覆盖写的模式,先清除文本原始内容再书写with open(r'D:/test.txt...原创 2019-11-17 20:00:13 · 772 阅读 · 0 评论 -
python中的列表和字典数据插入到数据库中
python中的列表数据插入到数据库中import pymysqlli = [[4,'赵六','物理',97],[5,'孙七','化学',91],[6,'王八','生物',93]]con = pymysql.connect('localhost','root','123456')cur = con.cursor()cur.execute('use woniu13')for i in ...原创 2019-11-15 15:05:47 · 11697 阅读 · 3 评论 -
python中调用数据库
import pymysqlcon = pymysql.connect('localhost','root') # 创建连接cur = con.curser() # 创建游标,python中,是通过游标与数据库互动的cur.execute('use wn13') # cur.execute('MySQL的语句')cur.execute('select * from clas...原创 2019-11-13 14:55:12 · 2150 阅读 · 0 评论 -
Python冒泡
先自定义一个无序列表list=[2,4,6,9,5,6,1]冒泡就是两两相比,大的冒泡去到最后,小的冒泡来到最前面首先做第一个数字的冒泡循环比较.list=[2,4,6,9,5,6,1]for i in range(0,len(list)-1) if list[i]>list[i+1]: list[i],list[i+1]=list[i+1],list[i] # 对第...原创 2019-10-24 21:05:17 · 464 阅读 · 0 评论