Python學習(六)模塊 —— 標准模塊


Python 標准模塊

  Python 帶有一個標准模塊庫,並發布有獨立的文檔(庫參考手冊)。對於程序員而言,標准庫與語言本身同樣重要,它好比一個百寶箱,能為各種常見的任務提供完美的解決方案。

  這邊簡單介紹學習下常用的 Python 標准庫,主要包括:操作系統接口、文件通配符、系統模塊、字符串正則匹配、數學(之前 int、float 章節已介紹過)、互聯網訪問、日期和時間等。

  使用這些大型模塊,dir() 及 help() 函數比較有用;當然標准庫遠不止這些,慢慢了解學習吧~

  標准模塊的存放位置: Python 目錄下 lib 文件夾內,如 我的就是 C:\Python34\Lib,如有必要,可查閱對應的模塊源文件

  

 

  os —— 操作系統接口

    僅列出幾個常用方法

    os.name            返回當前操作系統名

    os.environ           當前系統所有的環境變量

    os.getenv(key)          獲取某個環境變量值;若無,返回None

    os.getpid()            返回當前進程PID  (進程相關在UNIX系統比較實用,有比較多的方法,詳細參考對應標准庫文檔)

    os.getlogin()           返回當前系統登錄用戶名

    os.system(...)             運行shell命令

    os.getcwd()               獲取當前工作目錄

    os.chdir(path)          更改當前工作目錄

    os.listdir(path)         列出目錄下的所有文件和文件夾名稱 

    os.path ...           文件夾及文件操作的相關函數方法,這邊暫不列出,{后續會針對此列出專題學習文件操作}

 1 import os
 2 # print(dir(os))
 3 # help(os)
 4 print(os.name)                   # 當前操作系統名,定義了'posix' - Linux/Unix,'nt' - Windows,'mac','os2','ce','java'
 5 print(os.environ)                # 當前系統所有的環境變量
 6 print(os.getenv('HOMEPATH'))     # 返回某個環境變量的值;若無,返回None
 7 
 8 print(os.getpid())               # 返回當前進程PID
 9 print(os.getlogin())             # 返回當前系統登錄用戶名
10 
11 os.system('cmd')                 # os.system() 運行shell命令,相當於啟動dos
12 
13 print(os.getcwd())               # 獲取當前工作目錄
14 # os.chdir('d:\\test')           # 改變當前工作目錄至 d:\\test
15 
16 print(os.listdir('d:\\'))        # 列出目錄下的所有文件和文件夾名稱
17 # help(os.path)

 

  glob  —— 文件通配符

    glob 模塊提供了一個函數用於從目錄通配符搜索中生成文件列表

    參考下例, glob.glob("*.py")  返回了所有當前工作目錄(已改為"C:\Python34\Lib")下,通配 ".py" 的文件;也可以指定絕對路徑,如 print(glob.glob("C:\\Python34\\Lib\\*.py")) 

    

      

    下表列出了通配模式中可以使用的通配符。這些通配符與操作系統的命令shell下的通配符並不一定完全一致,但是Python的glob模塊在所有的平台上都使用相同的語法。

    注意,通配模式的語法與正則表達式的語法類似但不相同。

      通配符           匹配                                     示例                                    
      *            0個或多個任意字符                    *.m*        匹配擴展名以m開頭的名稱
      ?           任意單個字符                          ???          匹配恰好包含3個字符的名稱
      […]         方括號中列出的任意一個字符          [AEIOU]*  匹配以大寫的元音字母開頭的名稱
      [!...]       不在方括號中出現的任意一個字符      *[!s]        匹配不以s結尾的名稱

    

  sys —— 系統模塊

    sys模塊包含系統對應的功能。

    命令行參數:通用工具腳本經常調用命令行參數,而這些以鏈表形式存儲於sys模塊的argv變量。

    例如,在當前目錄下創建一 test.py 文件,內容如下,當前目錄下 cmd

    

    cmd 下運行命令如 python test.py 111 222

    

    getopt 模塊使用Unix getopt() 函數處理 sys.argv。更多的復雜命令行處理由argparse模塊提供

    Python 版本

    sys.version 提供安裝的Python的版本信息;sys.version_info 是一個元組表明Python版本信息。

1 import sys
2 print(sys.version)
3 print(sys.version_info)

     操作系統類型

    sys.platform 提供系統平台類型;如 win32  linux2 等

1 import sys
2 print(sys.platform)

    錯誤輸出重定向和程序終止

    sys 有 stdin, stdout 和 stderr 屬性,即使在 stdout 被重定向時,后者也可以用於顯示警告和錯誤信息

    大多腳本的定向終止都是用 sys.exit()

 

  re —— 字符串正則匹配

    re 模塊為高級字符串處理提供了正則表達式工具。這邊簡單介紹下,{后續會針對此列出專題學習正則}。

    正則效率上可能不如str自帶的方法,但功能十分強大。得益於這一點,在提供了正則表達式的語言里,正則表達式的語法都是一樣的,區別只在於語法數量不同;但不不被支持的語法通常是不常用的部分。

    如果已經在其他語言里使用過正則表達式,只需要簡單看一看就可以上手了。

    舉個簡單的例子如下:(findall()  函數搜索string,以列表形式返回全部能匹配的子串)

1 import re
2 print(re.findall(r'\d+','one1two2three3four4'))                        # 這邊正則表示僅匹配數字
3 print(re.findall(r'\bf[a-z]*','which foot or hand fell fastest'))      # 表示僅輸出 f 開頭的單詞

 

   urllib —— 互聯網訪問

    2.x版本的python可以直接使用import urllib來進行操作,但是3.x版本的python使用的是import urllib.request來進行操作;{后續會針對此列出專題學習網絡訪問相關操作}

    舉個簡單的例子如下:

1 from urllib.request import urlopen
2 print(urlopen("http://www.baidu.com").read())            # 會 print 出百度的html源代碼

 

  datetime —— 日期和時間

    datetime 模塊為日期和時間處理提供了方法。支持日期和時間算法的同時,還可格式化輸出。{后續會針對此列出專題學習日期和時間相關}

    舉個簡單的例子如下:

1 from datetime import date
2 print(date.today())
3 now = date.today()
4 print(now.strftime("%m-%d-%y,%A"))      # 格式化輸出
5 birthday = date(1990,7,7)                
6 age = now - birthday                    # 時間處理
7 print(age.days)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM