json格式化字典
import json
dic = {‘code’: 200, ‘msg’: ‘???’, ‘data’:{“xxxxx:11111”} }
a = json.dumps(dic, indent=4,ensure_ascii=False,sort_keys=False,separators=(’,’,’:’))
print(a)
import os
import shutil
生成文件夹
def tp(tp=None):
os.makedirs(“本地地址”+tp)#自己电脑的路径
删除文件夹
os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除
os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除
os.unlink(‘F:\新建文本文档.txt’) # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。
shutil.rmtree(“C:\Users\9000\Desktop\asd”)# 文件路径
解压缩包
import zipfile
def unzip_file(zip_src, dst_dir):
# zip_src压缩包路径
# dst_dir解压后存放路径
r = zipfile.is_zipfile(zip_src)
if r:
fz = zipfile.ZipFile(zip_src, ‘r’)
for file in fz.namelist():
fz.extract(file, dst_dir)
else:
print(‘This is not zip’)
unzip_file(zip_src=“C:\Users\9000\Desktop\555\111.zip”, dst_dir=“C:\Users\9000\Desktop\123\”)
提取pdf图片
import pdfplumber
import os
list = []
path = “xxx.pdf”
with pdfplumber.open(path)as pdf:
for i in pdf.pages:
i = str(i)
e = i[-2]
e = int(e)
e = e-1
print(e)
second_pag = pdf.pages[e]
# print(second_pag)
action_Name = second_pag.extract_tables()[0]
# print(action_Name)
for age in action_Name:
actions_name = age
actions_age = actions_name[0]
actions_names = "".join(actions_age).replace("\n", "")
list.append(actions_names)
over_Name = actions_name[2]
list.append(over_Name)
money = actions_name[4]
list.append(money)
types = actions_name[5]
list.append(types)
time = actions_name[6]
times = "".join(time).replace("\n", "")
list.append(times)
# print(actions_names, over_Name, money, types, times)
打开文件夹,输出文件夹的文件名称
import os
path = os.listdir(“xxxx”)
print(path)
保存到excel
import openpyxl
# 2调用workbook()方法
wb = openpyxl.Workbook()
# 3新建一个excel文件并起名
ws = wb.create_sheet(“sheet1”)
# 4单元格写数据
ws.cell(row=1, column=1).value = “时间”
ws.cell(row=1, column=2).value = “评论”
ws.cell(row=1, column=3).value = “长度”
# 保存
wb.save(“保存的数据.xlsx”)
print(“ok”)
git提交: https://help.aliyun.com/document_detail/153802.html
下拉数据 git clone 地址
查看当前管理的文件夹中所有文件和文件夹的状态 git status
管理单独的文件夹 git add supercrm
管理所有文件和文件夹 git add .
添加备注 git commit -m “xxxx”
查看git所管理的所有版本 git log
执行git回滚操作 git reset --hard 版本号
将文件从以修改的工作区回滚到未修改的状态 git checkout – 文件名
让他回到工作去,并且还保持着修改后的状态 git reset HEAD 文件名
查看当前分支 git branch
创建一个名为dev的分支 git branch dev
将工作切换到dev分支上 git checkout dev
分支合并—首先切换到master分支,然后在master分支上执行merge指令来合并bug分支的代码 git branch master git merge bug
删除bug分支 git branch -d bug
拉取origin这个名字对应的远程仓库地址的那个仓库里面的dev分支上的代码拉取下来 git pull origin dev
上传代码
- 给远程仓库起名 git remote add origin 远程仓库地址
- 向远程推送代码 git push -u origin 分支
在新电脑上第一次获取代码
- 克隆远程仓库代码
git clone 远程仓库地址(内部已实现git remote add origin 远程仓库地址) - 切换分支
git checkout 分支 - 切换到dev分支进行开发 git checkout dev
- 把master分支合并到dev(仅一次) git merge master
- 修改代码
- 提交代码
git add .
git commit -m ‘xx’
git push origin dev
回老电脑上继续写代码
- 切换到dev分支进行开发
git checkout dev - 拉代码
git pull origin dev - 继续开发
- 提交代码
git add .
git commit -m ‘xx’
git push origin dev
git add暂存区(临时存储)—git commit本地库(历史版本)
函数
issubclass() # 方法用于判断参数 class 是否是类型参数 classinfo 的子类。
isinstance() # 函数来判断一个对象是否是一个已知的类型,类似 type()。
time.strptime(str,fmt=’%a %b %d %H:%M:%S %Y’) # 根据fmt的格式把一个时间字符串解析为时间元组。
os.path.isdir(“路径”) # 判断路径下的是否为目录
os.path.isfile(“路径”) # 判断路径下的是否为文件
os.getcwd() # 输出当前进程的工作目录
os.path.join() # 链接两个或更多路径名组件
os.listdir() # 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
os.path.isfile() # 用于判断某一对象(需要提供绝对路径)是否为文件
os.path.isdir() # 用于判断某一对象(需要提供绝对路径)是否为目录
os.path.abspath() # 获取当前脚本完整路径
os.chdir() # 改变当前工作目录到指定路径
spec_from_file_location # 函数,将会返回模块的说明
module_from_spec # 函数,它会返回引入的模块
importlib.util.spec_from_file_location( ,) # 使用util通过模块名和文件路径来引入一个模块
importlib.util.module_from_spec() # 返回引入的模块
sys.path.append(r’xxx/xxx/xxx’) # import 导入模块可以按指定路径导入
super().init() # 继承父类初始化方法
super(x, y).init() # 继承父类初始化方法,且要求y为x的子类
super(type, obj).init() # 。。。。。。 , 要求obj的类型是type或者其子类
selenium
from selenium.webdriver.common.by import By # 导入这个包后才能用find_element(By.XPATH)
driver = webdriver.Chrome(‘drivers/chromedriver.exe’) # 导入谷歌引擎
driver.get("") # 输入要运行的网址
driver.maximize_window() # 窗口最大化
iframe = driver.find_element(By.XPATH,“xxx”) # 用xpath方法找到iframe 也可以用别的方法
driver.switch_to.frame(iframe) # 并且定位到iframe
driver.switch_to.default_content() # 关闭定位,回到主页
driver.implicitly_wait(10) # 隐式等待(一次找不到,等一会儿再来找)
driver.switch_to.window(driver.window_handles[1]) ***** b.switch_to_window_by_title(title=‘xxx(页面title)’) # selenium跳转页面绷定新页面(后一种是公司自己封装的方法)
print(driver.switch_to.alert.text) # 获取弹窗的文本信息
driver.switch_to.alert.accept() # 点击弹窗确定
driver.switch_to.alert.dismiss() # 点击弹窗取消
driver.switch_to.alert.send_keys(‘xxxx’) # 向弹窗中输入信息
driver.switch_to.window(driver.window_handles[1]) # 切换页面
dc = driver.find_element(By.XPATH, ‘xxx’).text # 获取文本内容
driver.execute_script(‘window.scrollTo(0, 2000)’) # 拉动滚动条到指定位置
Keys对象导入:from selenium.webdriver.common.keys import Keys
删除键(BackSpace)
send_keys(Keys.BACKSPACE)
空格键(Space)
send_keys(Keys.SPACE)
制表键(Tab)
send_keys(Keys.TAB)
回退键(Esc)
send_keys(Keys.ESCAPE)
回车键(Enter)
send_keys(Keys.ENTER)
全选(Ctrl+A)
send_keys(Keys.CONTROL,‘a’)
复制(Ctrl+C)
send_keys(Keys.CONTROL,‘c’)
剪切(Ctrl+X)
send_keys(Keys.CONTROL,‘x’)
粘贴(Ctrl+V)
send_keys(Keys.CONTROL,‘v’)
键盘 F1
send_keys(Keys.F1)
键盘 F12
send_keys(Keys.F12)
find_element_by_linx_text() # 文字超链接,文字定位
find_element_by_partial_link_text() # 文字超链接,部分文字定位
from selenium.webdriver import ActionChains 动作链
click(on_element=None) # 单击鼠标左键
click_and_hold(on_element=None) # 点击鼠标左键,不松开
context_click(on_element=None) # 点击鼠标右键
double_click(on_element=None) # 双击鼠标左键
drag_and_drop(source, target) # 拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) # 拖拽到某个坐标然后松开
key_down(value, element=None) # 按下某个键盘上的键
key_up(value, element=None) # 松开某个键
move_by_offset(xoffset, yoffset) # 鼠标从当前位置移动到某个坐标
move_to_element(to_element) # 鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) # 移动到距某个元素(左上角坐标)多少距离的位置
perform() # 执行链中的所有动作
release(on_element=None) # 在某个元素位置松开鼠标左键
send_keys(*keys_to_send) # 发送某个键到当前焦点的元素
send_keys_to_element(element, *keys_to_send) # 发送某个键到指定元素
eg:ActionChains(driver).context_click(操作对象).perform()
driver.back() # 网页后退
driver.forward() # 网页前进
driver.refresh() # 网页刷新
airtest
-- encoding=utf8 --
author = “9000”
from airtest.core.api import *
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome
driver = WebChrome()
driver.implicitly_wait(5)
driver.get(“https://www.百度.com/”)
driver.maximize_window() # 最大化窗口
driver.airtest_touch(Template(r’oldentrancetwo.png’)) # 点击选中的图片r 注释(需要将要选中的图片截屏,放到代码包下)
driver.switch_to_new_tab() # 切换页面
jupyter_notebook 调试
- 新建一个文件夹 ——>2.把rpalibe拖入——>3.拖入浏览器驱动
——>4.在文件夹中按shift点击鼠标右键,选择shell模式
——>5.输入jupyter notebook——>6.在files中点击右上角的new,并选择python3