目录
(一)python 基础
1、规范/使用
1.1注释
多行注释""" """
1.2快捷键
tab 自动补齐,右缩进
tab+shift 左缩进
1.3换下载源
pip install pandas -i https://mirrors.aliyun.com/pypi/simple
可选的镜像地址有
豆瓣 https://pypi.douban.com/simple
阿里云 https://mirrors.aliyun.com/pypi/simple
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
pip命令默认会连接在国外的python官方服务器下载,速度比较慢,
可以使用国内的豆瓣源等镜像,数据会定期同步国外官网,下载速度会快很多
2、异常
try 下面缩进的代码可以看成是 保护区
中的代码。
如果执行保护区中代码时,出现异常,解释器会结束保护区中后续代码的执行,并检查这个异常的类型是否匹配后面的except 语句中声明的类型。
如果匹配上,解释器知道程序对此种异常是预料到的,并且有对应的处理方案,也就是匹配的except下面缩进的代码。解释器就执行匹配的except下面缩进的代码,不会因此中止程序。
import traceback
try:
100/0
except :
print(traceback.format_exc()) #使用traceback模块里面的format_exc函数,可以显示异常的信息 和 异常产生处的函数调用栈的信息。
第2种
try:
100/0
except Exception as e:
print('未知异常:', e)
3、类型,数据,集合
4、判断语句/循环
5、对象
(二)python库
1、os库
osinputpath = r'D:\项目'
for root, dirs, files in os.walk(osinputpath)
print(root) # 当前目录路径
print(dirs) #当前路径下所有子目录,数据集合循环遍历
print(files) #当前路径下所有非目录子文件,数据集合循环遍历
for dir in dirs:
print(dir) #循环遍历
2、xlwt库
创建和保存放到循环外面,写入放到循环内
import os
import xlwt
import xlrd # xlrd==1.2
xl = xlwt.Workbook(encoding='utf-8')
sheet = xl.add_sheet("sheet名", cell_overwrite_ok=True) # sheet名,是否允许重设置
sheet.write(0, 0, "表头1") # 行(从0开始),列,内容,格式
sheet.write(0, 0, "表头2")
i = 1
sheet.write(i, 0, str(i)) # 数据写入行
i += 1
xl.save(r'D:\表格名.xls') # 保存
3、xlrd库
inputpath = r'D:\读取表格名.xls'
workbook = xlrd.open_workbook(inputpath)
worksheet = workbook.sheet_by_name('sheet1')
cell_value = worksheet.cell_value(0, 0) # 读取0行0列数据
print(cell_value)
4、BeautifulSoup库
BeautifulSoup 是 Python 中一个常用的解析 HTML 和 XML 的第三方库,使用它可以方便地从网页中提取数据。
5、panda库
Pandas教程(非常详细)_pandas 教程_小熊coder的博客-CSDN博客
6、json库
import json
path = r'D:\读取.json'
with open(path, 'r', encoding='utf-8') as f:
result = f.read().splitlines()
i = 0
for line in result:
i += 1
try:
r = json.load(line)
except:
print("error第" + str(i),end='\n')
# ...
7、re正则
Python之re库用法细讲_python re库_程序员小十一的博客-CSDN博客
(三)python自动化
1、request接口自动化
2、selenium_web自动化
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
inpturl = 'https://www.csdn.net/?spm=1001.2101.3001.4476'
browser = webdriver.Chrome()
browser.get(inpturl)
browser.set_script_timeout(60) #隐式等待
browser.implicitly_wait(60)
browser.set_page_load_timeout(60)
browser.maximize_window() #窗口最大化
ele = browser.find_element(By.ID, '').text #ID,XPATH,
browser.find_element(By.XPATH, "//*[text()='‘要点击的文本']").click() #通过文字点击
browser.find_element(By.XPATH, "//*[contains(text(),'‘部分文本')]").click() #通过部分文字点击
3、手机自动化
3.1appium
3.2 subprocess
python -m weditor查看手机页面元素
import time
import os
import subprocess
# 连接adb
def adb_connect1():
p = subprocess.Popen("adb connect 192.xxx.x.xxx:7555", shell=True, close_fds=True, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(str(p.communicate()))
def touch1(x, y):
p = subprocess.Popen(f"adb shell input tap {x} {y}", shell=True, close_fds=True, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(str(p.communicate()))
if __name__ == "__main__":
adb_connect1()
touch1(524, 957)
time.sleep(2)
touch1(830, 907)
time.sleep(1)
touch1(523, 985)
time.sleep(1)
touch1(551, 556)
time.sleep(1)
touch1(979, 158)
time.sleep(1)
touch1(550, 1880)