模塊
time 模塊
Time.time 是記錄當前的時間的方法,以時間戳的形式
time.clock 是記錄CUP的執(zhí)行時間
time.sleep 是可以停住多少秒,取決于參數(shù)
Time.localtime 是記錄當前時間,以結(jié)構(gòu)化時間的形式
Time.strftime(‘%Y-%m-%d %H:%M:%S’,加當前時間) 是以自己定義的形式來顯示當前時間,Y是年,m是月,d是日,H是時,M時分,S是秒
time.localtime().tm_mday 可以通過這個方法拿出當前是第幾天
Time.ctime 將時間戳轉(zhuǎn)換為時間
Time.mktime 將時間轉(zhuǎn)換為時間戳
Datetime 模塊
Datetime.datetime.now() 當前的時間
random 模塊(隨機數(shù)模塊)
Random.random 從0到1里面隨機生成一個數(shù)
Random.randint(1,10)從 1 到10 里面隨機生成一個數(shù)
random.choice("abcdefz") 從abcdefz中隨機生成一個
random.sample([1,2,3,4,5,6,7,8,9,10],2) 從1~10中隨機選擇兩個數(shù)
random.randrange(1,3) 從1~2中隨機生成一個數(shù)
chr()將數(shù)字轉(zhuǎn)換為字母
Os 模塊 (操作系統(tǒng)模塊)
Os.getcwd() 獲取當前腳本的路徑
os.chdir(r”路徑名”) 修改當前路徑
os.makedirs(“文件名\\文件名”)創(chuàng)建多層文件夾
os.removedirs(“文件名\\文件名”) 刪除多層空的文件夾
os.mkdir(“文件名”)生成一個文件夾
os.rmdir(“文件名”)刪除一個文件夾
Os.listdir(“絕對路徑”)顯示當前路徑下的所有文件
os.remove(“文件”)只能刪除文件
os.rename(“文件名”,”要命名為的文件名”)重命名一個文件
os.stat(“文件名”) 獲取文件信息,st_size 是文件大小,比較重要
os.sep 獲取當前系統(tǒng)的路徑分隔符
os.system(“命令”) 獲取終端
os.path.dirname(“文件名”) 獲取上一級絕對路徑
Os.path.josn(a,b) 路徑拼接
__file__ 獲取當前相對路徑
os.path.abspath(__file__) 獲取相對路徑的絕對路徑
Sys 模塊(python解釋器模塊)
Sys.argv()可以傳入一個參數(shù)
Sys.path() 查詢模塊路徑的一個列表
sys.platform() 展示操作系統(tǒng)
hashlib 模塊 (加密模塊)
Python3里面存的都是uncode類型,update的類型必須是一個UTF8
x = hashlib.md5() x是一個變量,將明文加密為md5的暗文
x.updata(“hello world”.encode(“utf8”)) 這是將hello world 轉(zhuǎn)換為md5的暗紋
x.hexdigest() 打印暗文
logging 模塊 (日志模塊)
日志的五個級別從小到大
logging.debug()
logging.info()
logging.warning()
logging.error()
logging.critical()
logging.basicConfig?
更改logging模塊的默認行為
filename = “文件名” 將日志信息儲存的文件名,可以加絕對路徑
filemode = “a” 將日志以什么形式打開,a是追加,w是重寫
datefmt = “時間格式” 指定日志使用什么樣子的時間格式
format = “日志格式” 指定日志以什么格式展示
Format 參數(shù)重用到的格式化串
%(levelname)s 文本形式的日志級別
%(levelno)s 數(shù)字形式的日志級別
%(filename)s 調(diào)用日志輸出函數(shù)的模塊的文件名
%(asctime)s 字符串形式的當前時間。默認格式是 “2003-07-08 16:49:45,896”。逗號后面的是毫秒
%(lineno)d 調(diào)用日志輸出函數(shù)的語句所在的代碼行
%(message)s用戶輸出的消息
logging.FileHandler("x.log") 是一個文件對象
logging.StreamHandler() 是一個屏幕對象
logging.Formatter("%(asctime)s\n%(filename)s\n[line:%(lineno)d]\n%(levelname)s\n%(message)s”) 修改格式
Configparser 模塊 (配置文件模塊)
import configparser
config = configparser.ConfigParser()
config["A"] = {'123':'123',
?? ? ? ? ? ? ? '222':'222',
?? ? ? ? ? ? ? '333':'423'
}
config['B'] = {'444':'555'}
with open("123.ini",'w') as configparser:
? ? config.write(configparser)
config.read('123.ini')
print(config.sections())
config.remove_section('B')
#config.set('A','123','321')
config.remove_option('A','123')
config.write(open('i.cfg','w'))
Re 模塊 (正則)
re.findall 完全匹配
su = re.search 匹配第一個并且將結(jié)果返回給一個變量
su.group() 可以查看匹配結(jié)果
Re.match 只從開頭匹配,類似于^
re.split 從規(guī)則中分
num = re.split('[s,v]','dsadlhdvfdf')
print(num)
Re.sub() 用于替換文字
num = re.sub('sb','sx','sb')
print(num)
a = re.compile(‘\.com') 此方法避免了重復填寫規(guī)則
2元字符
. 指所有的字符都可以匹配上(除了換行符)(1個點只能匹配一位字符)
^ 只在開始進行匹配
$ 只在結(jié)尾進行匹配
*重復匹配前面的字符從0到∞
+重復匹配前面的字符從1到∞
? 匹配前面的元素0個或者1個
{}匹配前面的元素,匹配次數(shù)按大括號中的值,可以是一個范圍
[] 取消元字符的特殊功能(\ ^ - 除外)
[1-9] 可以匹配1到9的范圍內(nèi)的數(shù)字
[a-z]可以匹配a到z的范圍內(nèi)的字母
[a,b]只取一個,是或的關(guān)系
[^t]取反,取除了t以外的數(shù)據(jù)
\ 將元字符變?yōu)槠胀ㄗ址瑢⑵胀ㄗ址優(yōu)樘厥庾址?/p>
\d 匹配數(shù)字
\D 匹配除了數(shù)字以外的字符
\w 匹配數(shù)字字母
\W 匹配除了數(shù)字字母以外的字符
\b 匹配特殊字符的邊界
re.findall(r'I\b','I am a list') 匹配一個I
()是將多個字符整合成一個字符來進行匹配
num = re.search('(?P\d{3})/(?P\w{3})','123456/wwwd') print(num.group('name'))?P<可以按id來搜索>
這是一個整體的規(guī)則,但是可以在整體的規(guī)則中取一些值
| 是一個或關(guān)系,只匹配一個