python課堂筆記六
常用模組已經可以在單位實際專案中使用,可以實現運維自動化。無需手工備份檔案,資料庫,拷貝,壓縮。
常用模組
time模組
time.time
time.localtime
time.strftime
os模組:主要針對作業系統的一些方法,如:切換目錄
sys模組:跟python直譯器互動使用。
shutil模組:針對目錄或檔案的複製,拷貝,重新命名的操作等。
hashlib模組:摘要演算法模組.
1.檔案的一致性校驗
2.使用者的加密認證
3.不可逆性,撞庫,加鹽
json/pickle/shelve模組:
json:通用的序列化格式,支援的資料型別有限
pickle:只能python程式使用
configparse
random模組
驗證碼logging模組
模組級別:
critical=50
error=40
warning=30
info=20
debug=10
notset=0
預設日誌級別:warning,
預設的輸出目標是:終端
全域性配置日誌
import logginglogging的四個物件logging.basicconfig(
filename='yangjianbo.log',
format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:%(message)s',
datefmt='%y-%m-%d %h-%m-%s',
level=10,
)logging.debug('楊建波111111')
logger fiter formatter hanlder
logging的正式使用:
logging.config
re模組
第乙個引數:正則規則;
#第二個引數:要查詢的字串。
#print(re.findall('yang','i am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))
#print(re.findall('aaa','bbbs2 222aaa dcccddddddaaaaaaa'))
#print(re.findall('[a-z]','i am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #匹配所有小寫字母
#print(re.findall('\w','i am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #字母數字下劃線
#print(re.findall('\w','i am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #非字母數字下線
#print(re.findall('\s','i am yangjianbo,ya2ch\ten\ra\nmu,ddf***iujf _-yang22')) #空字元,包括\t \r \n
#print(re.findall('\s','i am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))#非空字元
#print(re.findall('\d','i am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #數字
#print(re.findall('\d','i a\tm yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #非數字
#重複匹配
#print(re.findall('ab?','i am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))#重複前乙個字元0次或1次
#print(re.findall('ab*','i am yangjianbo, abbbb ya2chenamu,ddf***iujf _-yang22')) #重複前乙個字元0次或無窮次
#print(re.findall('ab+','i am yangjianbo,ya2chenabbbbamu,ddf***iujf _-yang22'))#重複前乙個字元1次或無窮次
#print(re.findall('ab','i am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22'))#重複前乙個字元4次。
#print(re.findall('ab','i am yangjabbbbianbo,abbya2abbbbbchenamu,ddf***iujf _-yang22'))#重複前乙個字元4次到5次
#print(re.findall('a.b','i am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22'))# 點表示任意乙個字元
#.* 表示匹配所有字元。預設是貪婪匹配。
#print(re.findall('a.*b','i am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22 a1283838b'))#匹配出a和b之前所有的字元,而且是最長的。
#print(re.findall('a.*?b','i am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22 a1283838b'))#匹配符合a和b之間最短的字元.
re.search() 匹配第乙個字元,匹配成功就返回結果,不會繼續匹配。
re.match() :匹配以指定字串為首的字串,匹配成功就返回結果,與re.search('^')相似。
re.split(): 以指定的分隔符,分割字串。
re.sub(): 用來替換指定的字串。
Python學習筆記(六)
函式 呼叫python內建的函式,可以通過 help fun 進行查詢。舉例 abs x 求x絕對值 cmp x,y 比較兩個數大小,如果 xy,返回 1。int x 把其他資料型別轉換為整數,包括字串型別。str 把其他型別轉換成 str。編寫函式 def my abs x if x 0 retu...
Python學習筆記(六)
函式練習題 1 寫函式,檢查傳入字典的每乙個value的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給呼叫者。dic def dict func dic for key,value in dic.items if len value 2 value value 0 2 dic key...
六 python學習筆記 python物件
1 所有的 python 對像都擁有三個特性 身份,型別和值。身份 每乙個物件都有乙個唯一的身份標識自己,任何物件的身份可以使用內建函式 id 來得到。這個值可以被認為是該物件的記憶體位址。您極少會用到這個值,也不用太關心它究竟是什麼。型別 物件的型別決定了該物件可以儲存什麼型別的值,可以進行什麼樣...