Python常用模塊資料

jopen 11年前發布 | 20K 次閱讀 Python Python開發

1.os模塊
  os模塊包裝了不同操作系統的通用接口,使用戶在不同操作系統下,可以使用相同的函數接口,返回相同結構的結果。
  os.name:返回當前操作系統名稱('posix', 'nt', 'os2', 'mac', 'ce' or 'riscos')
  os中定義了一組文件、路徑在不同操作系統中的表現形式參數,如
    os.sep(文件夾分隔符,windows中是 / )
    os.extsep(擴展名分隔符,windows中是 . )
    os.pathsep(目錄分隔符,windows中是 ; )
    os.linesep(換行分隔符,windows中是 /r/n )
  os中有大量文件、路徑操作的相關函數,如:
    listdir(path):列舉目錄下的所有文件
    makedir(path):創建文件夾,注:創建已存在的文件夾將異常
    makedirs(path):遞歸式的創建文件夾,注:創建已存在的文件夾將異常
    remove(filename):刪除一個文件
    rmdir(path):刪除一個文件夾,注:刪除非空的文件夾將異常
    removedirs(path):遞歸的刪除文件夾,直到有一級的文件夾非空,注:文件夾路徑不能以'/'結束
    rename(src,dst):給文件或文件夾改名(可以改路徑,但是不能覆蓋目標文件)
    renames(src,dst):遞歸式的給文件或文件名改名
    walk(path):列舉path下的所有文件、文件夾
  os中與進程相關的操作,如:
    execl(path):運行一個程序來替代當前進程,會阻塞式運行
    _exit(n):退出程序
    startfile(filename):用與文件關聯的程序運行,關聯程序打開后,立即返回
    system(cmd):運行一個程序或命令,會立即返回,并在cmd執行完成后,會返回cmd退出代碼
  os.path:在不同的操作系統中調用不同的模塊,是一個可import的模塊,這個模塊中提供很多有用的操作:
    abspath(path):返回path的絕對路徑,若path已經是絕對路徑了,則保持。
    basename(path):返回path中的文件名。
    commonprefix(list):返回list中的統一前綴,用于獲得一組字符串的左起相同的內容
    dirname(path):返回path中的文件夾部分,結果不包含'/'
    exists(path):文件或文件夾是否存在
    getatime(path):文件或文件夾的最后訪問時間,從新紀元到訪問時的秒數
    getmtime(path):文件或文件夾的最后修改時間
    getctime(path):文件或文件夾的創建時間
    getsize(path):文件或文件夾的大小,若是文件夾返回0
    isabs(path):返回是否是絕對路徑
    isfile(path):返回是否是文件路徑
    isdir(path):返回是否是文件夾路徑
    islink(path):返回是否是快捷方式
    join(path1,path2,...):將path進行組合,若其中有絕對路徑,則之前的path將被刪除
    normcase(path):轉換路徑中的間隔符
    normpath(path):轉換路徑為系統可識別的路徑
    realpath(path):轉換路徑為絕對路徑
    split(path):將路徑分解為(文件夾,文件名)
    splitext(path):將路徑分解為(其余部分,.擴展名),若文件名中沒有擴展名,擴展名部分為空字符串
  在操作與系統不支持的對象時,拋出OSError異常。
 
2.sys模塊
  系統信息和方法模塊,提供了很多實用的變量和方法:
    argv:命令行參數List,第一個元素是程序本身路徑
    builtin_module_names:Python解釋器導入的模塊列表
    modules.keys():返回所有已經導入的模塊列表
    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:返回系統導入的模塊字段,key是模塊名,value是模塊
    path:返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值
    platform:返回操作系統平臺名稱
 
3.built-in內置模塊
    eval(expr[,globals[,locals]]):執行一段代碼,并返回結果
    exec(expr[,globals[,locals]]):執行一段代碼
    execfile(file[,globals[,locals]]):執行一個文件
    filter(func,list):使用函數來過濾list,返回滿足要求的list元素組
    getattr(obj,name[,default]):獲取對象的屬性,若沒有該屬性,則返回默認值
    setattr(obj,name,value):設置對象的屬性,若沒有該屬性,則異常
    hasattr(obj,name):返回對象是否有指定屬性
    input([prompt]):提示控制臺輸入,必須輸入常量或變量,若想直接輸入字符串,需要使用引號括起來
    raw_input([prompt]):提示控制臺輸入,直接輸入數字或字符串
    open(filename,mode):打開文件,mode可以為:w,r,a,若想同時讀寫,則加上+,若想以二進制讀寫,則加上b
    reload(module):再次導入已導入過的模塊
    type(obj):返回一個對象的類型
    zip(seq1,...):將若干個元組進行合并,長度以元組中的最短的為準
 
4.time模塊
  這個模塊定義的都是和時間、時鐘、計時相關的內容:
    clock():返回第一次調用到當前調用時的計時,是以秒為單位的浮點數
    localtime([t]):返回時間的數組,有9個元素(年,月,日,時,分,秒,星期幾,當年的第幾天,是否夏令時),星期一為0
    mktime(tlist):是localtime的反函數,將一個9元數組轉成一個浮點時間值,后3個元素,系統會自己調整
    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元素的時間數組
    time():返回當前時間值,浮點數
  更高級的用法可以使用datetime模塊,創建其中的date,time對象,可以進行加減操作,得出timedelta對象。
 
5.re模塊
限定符說明:
".": 匹配任何字符
"^": 匹配開頭
"$": 匹配結尾
"": 匹配0次或更多次之前的表達式。貪婪時,匹配盡可能多次
"+": 匹配1次或更多次之前的表達式。等價于{1,}
"?": 匹配0次或1次之前的表達式。等價于{0,1}
"
?,+?,??": 非貪婪匹配
"{m,n}": 貪婪式匹配之前的表達式m到n次
"{m,n}?": 非貪婪匹配之前的表達式m到n次
"/": 將下一個字符轉義
[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: 匹配一個數字。等價于[0-9]
/D: 匹配一個非數字。等價于[^0-9]
/s: 匹配一個空白字符。等價于[ /t/n/r/f/v]
/S: 匹配一個非空白字符。等價于[^ /t/n/r/f/v]
/w: 匹配一個字母數字字符。等價于[a-zA-Z0-9]
/W: 匹配一個非字母數字字符。等價于[^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 是一個用四個十六進制數字表示的Unicode字符
常用匹配:
匹配中文字符的正則表達式: [/u4e00-/u9fa5]
匹配雙字節字符(包括漢字在內):[^/x00-/xff]
匹配空行的正則表達式:/n[/s| ]
/r
匹配首尾空格的正則表達式:(^/s)|(/s$)
匹配Email地址的正則表達式:/w+([-+.]/w+)@/w+([-.]/w+)/./w+([-.]/w+)
匹配網址URL的正則表達式:^[a-zA-z]+://(//w+(-//w+)
)(//.(//w+(-//w+)))//?//S)?$</a>
匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[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: 替換并返回替換的次數
    split: 分隔
    findall: 查找所有匹配項
    compile:
    purge:
    escape:
可選參數:
    I(IGNORECASE): 忽略大小寫
    L(LOCALE): 使用/w,/W,/b,/B時依據本地配置???
    M(MULTILINE): 多行,"^"匹配每行的開頭,"$"匹配每行的末尾
    S(DOTALL): 使"."匹配包含換行符在內的任意字符
    X(VERBOSE): 忽略空白處和注釋內容
    U(UNICODE): 使/w,/W,/b,/B依靠UNICODE編碼
 
6.thread模塊
 
7.urllib模塊
 
8.urllib2模塊
 
9.socket模塊
 
10.file對象操作
  open(文件名,模式,緩沖):模式可以置為(r,w,a,r+,w+等),這些模式本身不會去鎖定文件,在同時使用讀和寫時,要使用seek來移動位置。
  close():關閉的作用是置位closed,多次關閉不會引發異常。
  flush():將內在緩沖的內容寫入文件。
  read(n):讀入若干字節,無n時,讀入全部。
  readline(n):讀入若干行,n表示讀入的最長字節數。
  seek(offset,where):where=0從起始位置移動,1從當前位置移動,2從結束位置移動。
  tell():文件的當前位置。
  truncate(n):截斷文件為n個字符,無n表示從當前位置起截斷。
  write(str):在當前位置寫入字符串。
  writelines(lines):相當于給lines中的每個字符串調用write函數。
 
11.其它模塊
  filecmp.cmp(file1,file2):比較file1和file2的內容是否相同
  dircmp:可以構造一個比較兩個目錄內容的對象,較強
  getpass.getpass(prompt):讓用戶在控制臺輸入不顯示的密碼
  getopt.getopt(args,options[,long_options]):用于解析運行參數
  shutil.copy(file1,file2):將文件1復制到file2


     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!