前言
本文只是本人学习的笔记,并不是什么教学。为了方便自己忘记时不用东找西找,有兴趣可以看下
1、os
import os
file = 'test.py'
os.path.basename(file) # 获取文件名 => test.py
os.path.dirname(file) # 获取文件目录 =>
os.path.abspath(file) # 获取文件绝对目录 => F:\python\test.py
os.path.exists(file) # 判断文件或目录 => true
os.path.isfile(file) # 判断是否是文件 => true
os.path.isdir(file) # 判断是否是目录 => false
os.mkdir(file) # 创建目录
os.rmdir(file) # 删除目录
f = os.getcwd() # 返回一个当前工作目录的Unicode对象
os.listdir(f) # 获取目录下的全部文件
os.path.getsize(file) # 获取文件大小
fp = open('test.py', 'r', encoding='utf-8') # 打开文件 w:写入 r:读 a:追加数据
fp.read() # 读取全部内容
fp.readLine() # 读取每一行 strip() 去除两端空格
fp.readLines() # 读取所有,返回列表
fp.write() # 写入数据
fp.writeLines() # 写入全部数据
fp.close() # 关闭文件,释放内存
cmd = r'd:\tools\wget http://mirrors.sohu.com/nginx/nginx-1.13.9.zip'
os.system(cmd)
os.startfile('d:\\统计数据.xlsx') # 打开程序
2、zipfile
import zipfile
zf = zipfile.ZipFile('test.zip','r') # 构造管理器 r:读
zf.extractall('out') # 解压缩
zf.nameList() # 获取压缩文件的信息
zf.infoList() # 返回列表
zf.close() # 关闭对象,释放内存
3、requests
请求模块
import requests
equests.get(url,headers,params)
requests.post(url,data={请求体的字典},headers) # 必须带data
requests.Session() # 建立临时会话
4、json
数据交换格式
import json
json.dump(data_json,fp=filename,ensure_ascii=False) # 将Python对象编码成 JSON 字符串
json.loads(json_str) # 将已编码的 JSON 字符串解码为 Python 对象
5、etree
解析数据(xpath)
from lxml import etree
response = requests.get(url=url,params=param,headers=header).text
html = etree.HTML(response) # 解析内容
html.xpath('路径')
6、re
正则表达式
import re
re.findall('正则表达式','要查找的文本','模式(re.S)') # re.S,不会对\n进行中断
re.compile(r'正则表达式') # => kk = re.compile(r'\d+'); kk.findall('one1two2three3four4')
7、selenium
自动化模块
from selenium import webdriver
# 后台静默运行
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(executable_path=file, options=chrome_options) # file=>Chromedriver路径
# 非静默
driver = webdriver.Chrome(executable_path=file)
driver.current_url # 显示打开网址的地址
driver.get(url) # 打开网页,url=>网页地址
driver.find_element_by_id() # 按id查找
driver.find_element_by_class_name() # 按类名查找
driver.find_element_by_xpath # xapth查找
driver.find_element_by_id('id').send_keys(value) # 输入内容
driver.find_element_by_id('id').click() # 点击
driver.find_element_by_id('id').screenshot(''./index.png') # 截图
driver.switch_to.frame('class/id') # frame
8、time
时间对象
import time
time.time() # 返回 从 1970年1月1日0点 到 当前时间的 经过的秒数
9、datatime
from datetime import datetime
str(datetime.now()) # 得到类似这样的字符串:‘2022-03-30 23:10:08.911420’
datetime.now().strftime('%Y-%m-%d ** %H:%M:%S') # 定输出的时间格式
time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) # time库来格式化显示字符串
time.strftime('%Y%m%d %H:%M:%S',time.localtime(1434502529)) # 将某个指定秒数时间转化为字符串格式
10、方法
reverse() 反转列表=>ar1 = [1,2,3] var1.reverse() # ar1 = [3,2,1]
append() 添加元素到列表=>arr=[1,2] arr.append(3) # arr=[1,2,3]
pop() 从列表 取出并删除 一个元素=>arr=[1,2,3] arr.pop(2) #arr=[1,2]
remove() 也是删除列表元素=>arr=[1,2,1] arr.remove('1') # arr=[2,3]
index() 返回 参数对象 在列表 中的位置,也就是索引var1 = [1,2,3]idx = var1.index(2) # 1
sort() 对列表进行排序
count() 返回字符串对象包含了多少个参数指定的字符串=>'我们,我们球'.count('我们') # 2
find() 在字符串中查找参数子字符串,返回该位置索引,如果没有返回-1
strip() 去空格=>String.strip()
split() 把字符串切割成数组
11、编码
encode('utf8') 编码
decode('utf-8) 解码
unicode数字转换为字符=> chr(50) # '2'
字符转换为unicode数字=> ord('2') # '50'
字符串编码为 unicode转义数字 => String.encode('unicode-escape')
12、字典
{}: =>members = {}
1、添加:members['account1'] = 13 # members = {'account1':13}
2、修改:members['account1'] = 14 # members = {'account1':14}
3、删除:members.pop('account1') # members = {}
遍历: =>for account,level in members.items():
print (f'account:{account}, level:{level}')
清空: => members.clear()
合并: => members = {'account1':14}, another={'a':2}
members.update(another) # members = {'account1':14,'a':2}