|
1.os模塊 os模塊包裝了不同操作系統(tǒng)的通用接口,使用戶在不同操作系統(tǒng)下,可以使用相同的函數(shù)接口,返回相同結(jié)構(gòu)的結(jié)果。 os.name:返回當(dāng)前操作系統(tǒng)名稱('posix', 'nt', 'os2', 'mac', 'ce' or 'riscos') os中定義了一組文件、路徑在不同操作系統(tǒng)中的表現(xiàn)形式參數(shù),如 os.sep(文件夾分隔符,windows中是 \ ) os.extsep(擴(kuò)展名分隔符,windows中是 . ) os.pathsep(目錄分隔符,windows中是 ; ) os.linesep(換行分隔符,windows中是 \r\n ) os中有大量文件、路徑操作的相關(guān)函數(shù),如: listdir(path):列舉目錄下的所有文件 makedir(path):創(chuàng)建文件夾,注:創(chuàng)建已存在的文件夾將異常 makedirs(path):遞歸式的創(chuàng)建文件夾,注:創(chuàng)建已存在的文件夾將異常 remove(filename):刪除一個(gè)文件 rmdir(path):刪除一個(gè)文件夾,注:刪除非空的文件夾將異常 removedirs(path):遞歸的刪除文件夾,直到有一級(jí)的文件夾非空,注:文件夾路徑不能以'\'結(jié)束 rename(src,dst):給文件或文件夾改名(可以改路徑,但是不能覆蓋目標(biāo)文件) renames(src,dst):遞歸式的給文件或文件名改名 walk(path):列舉path下的所有文件、文件夾 os中與進(jìn)程相關(guān)的操作,如: execl(path):運(yùn)行一個(gè)程序來(lái)替代當(dāng)前進(jìn)程,會(huì)阻塞式運(yùn)行 _exit(n):退出程序 startfile(filename):用與文件關(guān)聯(lián)的程序運(yùn)行,關(guān)聯(lián)程序打開(kāi)后,立即返回 system(cmd):運(yùn)行一個(gè)程序或命令,會(huì)立即返回,并在cmd執(zhí)行完成后,會(huì)返回cmd退出代碼 os.path:在不同的操作系統(tǒng)中調(diào)用不同的模塊,是一個(gè)可import的模塊,這個(gè)模塊中提供很多有用的操作: abspath(path):返回path的絕對(duì)路徑,若path已經(jīng)是絕對(duì)路徑了,則保持。 basename(path):返回path中的文件名。 commonprefix(list):返回list中的統(tǒng)一前綴,用于獲得一組字符串的左起相同的內(nèi)容 dirname(path):返回path中的文件夾部分,結(jié)果不包含'\' exists(path):文件或文件夾是否存在 getatime(path):文件或文件夾的最后訪問(wèn)時(shí)間,從新紀(jì)元到訪問(wèn)時(shí)的秒數(shù) getmtime(path):文件或文件夾的最后修改時(shí)間 getctime(path):文件或文件夾的創(chuàng)建時(shí)間 getsize(path):文件或文件夾的大小,若是文件夾返回0 isabs(path):返回是否是絕對(duì)路徑 isfile(path):返回是否是文件路徑 isdir(path):返回是否是文件夾路徑 islink(path):返回是否是快捷方式 join(path1,path2,...):將path進(jìn)行組合,若其中有絕對(duì)路徑,則之前的path將被刪除 normcase(path):轉(zhuǎn)換路徑中的間隔符 normpath(path):轉(zhuǎn)換路徑為系統(tǒng)可識(shí)別的路徑 realpath(path):轉(zhuǎn)換路徑為絕對(duì)路徑 split(path):將路徑分解為(文件夾,文件名) splitext(path):將路徑分解為(其余部分,.擴(kuò)展名),若文件名中沒(méi)有擴(kuò)展名,擴(kuò)展名部分為空字符串 在操作與系統(tǒng)不支持的對(duì)象時(shí),拋出OSError異常。 2.sys模塊 系統(tǒng)信息和方法模塊,提供了很多實(shí)用的變量和方法: argv:命令行參數(shù)List,第一個(gè)元素是程序本身路徑 builtin_module_names:Python解釋器導(dǎo)入的模塊列表 modules.keys():返回所有已經(jīng)導(dǎo)入的模塊列表 exc_info():獲取當(dāng)前正在處理的異常類 exc_type、exc_value、exc_traceback:當(dāng)前處理的異常詳細(xì)信息 executable:Python解釋程序路徑 exit(n):退出程序,正常退出時(shí)exit(0) getwindowsversion():獲取Windows的版本 hexversion:獲取Python解釋程序的版本值,16進(jìn)制格式如:0x020403F0 version:獲取Python解釋程序的版本信息 maxint:最大的Int值 maxunicode:最大的Unicode值 modules:返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名,value是模塊 path:返回模塊的搜索路徑,初始化時(shí)使用PYTHONPATH環(huán)境變量的值 platform:返回操作系統(tǒng)平臺(tái)名稱 3.built-in內(nèi)置模塊 eval(expr[,globals[,locals]]):執(zhí)行一段代碼,并返回結(jié)果 exec(expr[,globals[,locals]]):執(zhí)行一段代碼 execfile(file[,globals[,locals]]):執(zhí)行一個(gè)文件 filter(func,list):使用函數(shù)來(lái)過(guò)濾list,返回滿足要求的list元素組 getattr(obj,name[,default]):獲取對(duì)象的屬性,若沒(méi)有該屬性,則返回默認(rèn)值 setattr(obj,name,value):設(shè)置對(duì)象的屬性,若沒(méi)有該屬性,則異常 hasattr(obj,name):返回對(duì)象是否有指定屬性 input([prompt]):提示控制臺(tái)輸入,必須輸入常量或變量,若想直接輸入字符串,需要使用引號(hào)括起來(lái) raw_input([prompt]):提示控制臺(tái)輸入,直接輸入數(shù)字或字符串 open(filename,mode):打開(kāi)文件,mode可以為:w,r,a,若想同時(shí)讀寫(xiě),則加上+,若想以二進(jìn)制讀寫(xiě),則加上b reload(module):再次導(dǎo)入已導(dǎo)入過(guò)的模塊 type(obj):返回一個(gè)對(duì)象的類型 zip(seq1,...):將若干個(gè)元組進(jìn)行合并,長(zhǎng)度以元組中的最短的為準(zhǔn) 4.time模塊 這個(gè)模塊定義的都是和時(shí)間、時(shí)鐘、計(jì)時(shí)相關(guān)的內(nèi)容: clock():返回第一次調(diào)用到當(dāng)前調(diào)用時(shí)的計(jì)時(shí),是以秒為單位的浮點(diǎn)數(shù) localtime([t]):返回時(shí)間的數(shù)組,有9個(gè)元素(年,月,日,時(shí),分,秒,星期幾,當(dāng)年的第幾天,是否夏令時(shí)),星期一為0 mktime(tlist):是localtime的反函數(shù),將一個(gè)9元數(shù)組轉(zhuǎn)成一個(gè)浮點(diǎn)時(shí)間值,后3個(gè)元素,系統(tǒng)會(huì)自己調(diào)整 sleep(n):掛起線程n秒 strftime(fstring[,t]):格式化顯示時(shí)間,fstring常用關(guān)鍵字: %a,%A:星期的縮寫(xiě),全拼 %b,%B:月份的縮寫(xiě),全屏 %c,%x,%X:本地默認(rèn)表示法(日期時(shí)間,日期,時(shí)間) %Y(%y:2位),%m,%d,%H,%M,%S:年月日時(shí)分秒 %w:星期,0為星期天 strptime(string[,format]):將字符串解析為9元素的時(shí)間數(shù)組 time():返回當(dāng)前時(shí)間值,浮點(diǎn)數(shù) 更高級(jí)的用法可以使用datetime模塊,創(chuàng)建其中的date,time對(duì)象,可以進(jìn)行加減操作,得出timedelta對(duì)象。 5.re模塊 限定符說(shuō)明: ".": 匹配任何字符 "^": 匹配開(kāi)頭 "$": 匹配結(jié)尾 "*": 匹配0次或更多次之前的表達(dá)式。貪婪時(shí),匹配盡可能多次 "+": 匹配1次或更多次之前的表達(dá)式。等價(jià)于{1,} "?": 匹配0次或1次之前的表達(dá)式。等價(jià)于{0,1} "*?,+?,??": 非貪婪匹配 "{m,n}": 貪婪式匹配之前的表達(dá)式m到n次 "{m,n}?": 非貪婪匹配之前的表達(dá)式m到n次 "\": 將下一個(gè)字符轉(zhuǎn)義 [ABC]: 指定一個(gè)字符集 [^ABC]: 指定一個(gè)不在范圍內(nèi)的字符集 "A|B": 匹配條件A或條件B (pattern): 匹配括號(hào)內(nèi)的表達(dá)式,并作為匹配項(xiàng) (?:pattern): 匹配括號(hào)內(nèi)的表達(dá)式,但不作為匹配項(xiàng) (?#...): 注釋,忽略 (?=pattern): 預(yù)查,若之后的內(nèi)容匹配表達(dá)式,則成立 (?!pattern): 預(yù)查,若之后的內(nèi)容不匹配表達(dá)式,則成立 (?P<name>pattern): 給一個(gè)匹配項(xiàng)命名 (?P=name): 匹配與之前命名的匹配項(xiàng)內(nèi)容相同的部分 如:s='12a34a56' re.findall('12(?P<xxx>.).*(?P=xxx)56)', s) (?P<xxx>.)匹配到a,則(?P=xxx)的內(nèi)容也必須為a時(shí)才pp (?iLmsux): 設(shè)置I,L,M,S,U,or X標(biāo)記 轉(zhuǎn)義符說(shuō)明: \A: 匹配開(kāi)頭 \Z: 匹配結(jié)尾 \b: 匹配開(kāi)頭或結(jié)尾的空字符串,通常是指單詞邊界 ??? \B: 匹配非開(kāi)頭和結(jié)尾的空字符串,通常是指非單詞邊界??? \d: 匹配一個(gè)數(shù)字。等價(jià)于[0-9] \D: 匹配一個(gè)非數(shù)字。等價(jià)于[^0-9] \s: 匹配一個(gè)空白字符。等價(jià)于[ \t\n\r\f\v] \S: 匹配一個(gè)非空白字符。等價(jià)于[^ \t\n\r\f\v] \w: 匹配一個(gè)字母數(shù)字字符。等價(jià)于[a-zA-Z0-9_] \W: 匹配一個(gè)非字母數(shù)字字符。等價(jià)于[^a-zA-Z0-9_] \\: 匹配一個(gè)反斜杠 \f: 匹配一個(gè)換頁(yè)符。等價(jià)于\x0C 和 \cL \n: 匹配一個(gè)換行符。等價(jià)于\x0A 和 \cJ \r: 匹配一個(gè)回車符。等價(jià)于\x0D 和 \cM \t: 匹配一個(gè)制表符。等價(jià)于\x09 和 \cI \v: 匹配一個(gè)垂直制表符。等價(jià)于\x0B 和 \cK \xHH: 匹配 HH,其中 HH 為十六進(jìn)制轉(zhuǎn)義值 \uHHHH: 匹配 HHHH,其中 HHHH 是一個(gè)用四個(gè)十六進(jìn)制數(shù)字表示的Unicode字符 常用匹配: 匹配中文字符的正則表達(dá)式: [\u4e00-\u9fa5] 匹配雙字節(jié)字符(包括漢字在內(nèi)):[^\x00-\xff] 匹配空行的正則表達(dá)式:\n[\s| ]*\r 匹配首尾空格的正則表達(dá)式:(^\s*)|(\s*$) 匹配Email地址的正則表達(dá)式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配網(wǎng)址URL的正則表達(dá)式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*\\?\\S*)?$ 匹配賬號(hào)是否合法(字母開(kāi)頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配國(guó)內(nèi)電話號(hào)碼:(\d{3}-|\d{4}-)?(\d{8}|\d{7})? 匹配騰訊QQ號(hào):^[1-9]*[1-9][0-9]*$ 模塊使用: match: search: sub: 替換 subn: 替換并返回替換的次數(shù) split: 分隔 findall: 查找所有匹配項(xiàng) compile: purge: escape: 可選參數(shù): I(IGNORECASE): 忽略大小寫(xiě) L(LOCALE): 使用\w,\W,\b,\B時(shí)依據(jù)本地配置??? M(MULTILINE): 多行,"^"匹配每行的開(kāi)頭,"$"匹配每行的末尾 S(DOTALL): 使"."匹配包含換行符在內(nèi)的任意字符 X(VERBOSE): 忽略空白處和注釋內(nèi)容 U(UNICODE): 使\w,\W,\b,\B依靠UNICODE編碼
|
|
|