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