Python學習筆記六

2022-09-03 22:57:29 字數 3084 閱讀 1535

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 logging

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')

logging的四個物件

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 來得到。這個值可以被認為是該物件的記憶體位址。您極少會用到這個值,也不用太關心它究竟是什麼。型別 物件的型別決定了該物件可以儲存什麼型別的值,可以進行什麼樣...