1、常用標準庫
builtins | 內建函式預設載入
math | 數學庫
random | 生成隨機數
time | 時間
datetime | 日期和時間
calendar | 日曆
hashlib | 加密演算法
copy | 拷貝
functools | 常用的工具 reduece() wraps()
os | 作業系統介面 與檔案相關的
re | 字串正則匹配
sys | python自身的執行環境 直譯器相關的變數或函式名
multiprocessing | 多程序
threading | 多執行緒
json | 編碼和解碼 json 物件
logging | 記錄日誌,除錯
2、re模組 (regular expression)import re
obj = re.match(pattern,string,flags)
#pattern是正則規則,string是要匹配的字串,flasgs是一些引數,如忽略大小寫等。
match() 從頭開始匹配,匹配不成功返回none,obj.group()是匹配的內容,obj.span()是匹配 內容的位置,obj.start() 匹配內容的開始下標
fullmatch() 從頭到尾,整個字串都跟pattern進行匹配,匹配不成功返回none,
search() 掃瞄整個字串查詢匹配正則格式的內容,找到返回match物件,可以呼叫.group()
findall() 查詢所有匹配的內容,返回值是乙個列表,列表元素是匹配內容
import re
# 通過re模組的compile函式,返回乙個pattern物件
pattern = re.compile('abc')
# 通過pattern物件進行 match search findall split ...
match_obj = pattern.match('abcdef')
print(match_obj) # 匹配物件
# 匹配物件呼叫group獲取匹配的內容
g = match_obj.group()
print(g)
match_obj = re.fullmatch('abc', 'xyzabcdef', re.i)
print(match_obj)
match_obj = re.search('abc', 'xyzabcdef', re.i)
print(match_obj)
print(match_obj.group()) # 匹配的內容
print(match_obj.span()) # 匹配內容的位置
print(match_obj.start())
s=' i am a boy'
s = re.sub(r'\s+','#',s) #空白用#替換 #i#am#a#good#boy#
s = 'xiaohua=20 xiaoming=21 xiaohong=19'
def change(mobj):
content = mobj.group()
result = str(int(content) + 1)
return result
s = re.sub(r'\d+', change, s)
print(s) #xiaohua=21 xiaoming=22 xiaohong=20
s = 'hello25hi8kitty980world'
result = re.split(r'\d+',s)
print(result) # ['hello', 'hi', 'kitty', 'world']
字元 功能
. 匹配任意1個字元(除了\n)
匹配中列舉的字元
\d 匹配數字,也就是0-9
\d 匹配非數字,也就是匹配不是數字的字元
\s 匹配空白符,也就是 空格\tab
\s 匹配非空白符,\s取反
\w a-z, a-z, 0-9, _
\w \w取反
\b 匹配邊界字元
已知一句話: 'i am a good boy , a handsome boy',提取這句話中的所有單詞
s = 'i am a good boy , a handsome boy'
words = re.findall(r'\b[a-z]+\b', s, re.i)
print(words)
表示數量的規則# 已知一句話: 'i am a good boy , a handsome boy',提取這句話中的所有單詞
s = 'i am a good boy , a handsome boy'
words = re.findall(r'\b[a-z]+\b', s, re.i)
print(words)
* 可有可無
+ 最少一次
? 0 或 1
匹配前乙個字元出現m次
匹配前乙個字元至少出現m次
匹配前乙個字元出現m到n次
分組操作 () 表示的是一組 | 或者關係
s = 'hi linda'
m_obj = re.search('(hi|hello) (jack|tom|lucy|linda)', s, re.i) #
print(m_obj.group()) #hi linda
print(m_obj.group(1)) #hi
print(m_obj.group(2)) #linda
Python常用標準庫 glob
glob 檔案查詢,支援萬用字元 查詢目錄中所有以.sh為字尾的檔案 glob.glob home user sh home user 1.sh home user b.sh home user a.sh home user sum.sh 查詢目錄中出現單個字元並以.sh為字尾的檔案 glob.gl...
Python常用標準庫 json
json是一種輕量級資料交換格式,一般api返回的資料大多是json xml,如果返回json的話,將獲取的資料轉換成字典,方面在程式中處理。json庫經常用的有兩種方法dumps和loads 將字典轉換為json字串 dict type dict json str json.dumps dict ...
Python常用標準庫 time
這個time庫提供了各種操作時間值。方法 描述示例 time.asctime tuple 將乙個時間元組轉換成乙個可讀的24個時間字串 time.asctime time.localtime sat nov 12 01 19 00 2016 time.ctime seconds 字串型別返回當前時間...