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