glob模塊 提供了一個函數,用於匹配符合要求的文件: re模塊 字元串正則匹配 datetime模塊 日期時間 格式化輸出也可以這樣用: 數據壓縮 支持數據打包、壓縮的模塊:zlib,gzip,bz2,zipfile,以及 tarfile。 壓縮數據: 壓縮文件: 解壓文件: ...
glob模塊 提供了一個函數,用於匹配符合要求的文件:
import glob list=glob.glob("*.py") #匹配當前目錄下的所有匹配的文件名(包括尾碼),以字元串列表的形式返回 print(list) #['test.py', 'test2.py']
re模塊 字元串正則匹配
import re list=re.findall(r"\bh","hi hello his") #獲取所有符合要求的匹配,以字元串列表的形式返回 print(list) #['h', 'h', 'h'] str=re.sub(r"\bh","H","hi hello his") #用第二個字元串替換第一個正則表達式匹配到的所有子串。字元串不可變,以副本形式返回。 print(str) #Hi Hello His
datetime模塊 日期時間
from datetime import date now=date.today() print(now) #2019-08-07,這是預設的格式 print(now.strftime("%Y.%m.%d")) #2019.08.07 格式化時間日期,返回的是時間日期對象對應的字元串 # print(now.strftime("%Y年%m月%d日")) #這句代碼會報錯,年月日時分秒是此模塊的關鍵字詞,不能直接寫 print(now.strftime('%Y{}%m{}%d{}').format("年","月","日")) #2019年08月07日,將返回的字元串格式化 birthday=date(2000,1,1) #構造一個date對象,參數:年、月、日 print(birthday) #2000-01-01 age=now-birthday print(age) #7158 days, 0:00:00 print(age.days) #7158
格式化輸出也可以這樣用:
str="我是{},今年{}歲".format("張三",12) print(str) #我是張三,今年12歲 str="我是{name},今年{age}歲".format(name="張三",age=12) #指定名稱,根據名稱來賦值 print(str) #我是張三,今年12歲
數據壓縮
支持數據打包、壓縮的模塊:zlib,gzip,bz2,zipfile,以及 tarfile。
壓縮數據:
import zlib data1=bytes("愛我中華愛我中華愛我中華愛我中華愛我中華","utf-8") print(len(data1)) #60 data2=zlib.compress(data1) #壓縮數據,參數要是位元組。參數不變,返回的是副本 print(len(data2)) #24 data3=zlib.decompress(data2) #解壓,參數不變,返回副本 print(len(data3)) #60 print(len(data2)) #24
壓縮文件:
import zipfile f = zipfile.ZipFile('1.zip', 'w',zipfile.ZIP_DEFLATED) """ 調用zipfile模塊的ZipFile類的構造函數,創建一個壓縮文件對象 3個參數:壓縮文件的文件名、讀寫許可權、壓縮類型 壓縮要有寫的許可權,解壓要有讀的許可權 壓縮類型有2個常量值:ZIP_STORE(預設值,不壓縮數據,大小不變),ZIP_DEFLATED(要壓縮數據,文件尺寸變小) """ f.write("1.txt") #壓縮文件1.txt f.write("1.mp3") #壓縮文件1.mp3 f.write('1.mp4"') #壓縮文件1.mp4 #就是說1.zip中有3個文件 f.close()
解壓文件:
import zipfile f=zipfile.ZipFile('1.zip') #創建壓縮文件對象,後2個參數均使用預設值(讀+不壓縮數據) f.extractall("1") #解壓到文件夾1 f.close()
這些模塊都具有多個方法,此處只是簡略介紹下。