Python標準庫概覽

2022-05-10 17:46:54 字數 3088 閱讀 5520

python標準庫通常被稱為「自帶的電池」,自然地提供了廣泛的功能,涵蓋了大概200個左右的包與模組。不斷有高質量的包或模組被開發出來,極大的豐富了標準庫。但有些模組放在標準庫中很難去維護,比如「berkeley db」模組,其被清理出標準庫進行單獨維護。還有一些庫,比如pyparsing(建立分析器)也是沒有被加在標準庫中。

1 字串處理

1.1 string模組

常量:string.ascii_letters、 string.hexdigits。

string.formatter子類,自定義字串格式化器。textwrap模組可用於捕獲指定寬度的文字行,並最小化縮排的需求。

1.2 struct模組

提供了一些函式,將數字布林型變數以及字串打包為位元組物件(以其二進位制表示),或從位元組物件中拆分為適當的型別,用於跟c語言底層的互動。

1.3 difflib模組

提供了用於對比序列(比如字串)進行比較的類與方法,並可以產生以標準的「diff」格式與html格式輸出資訊。

1.4 re正規表示式

最強大的字串處理模組

2 io.stringio類 

python提供兩種將文字寫入到檔案的方法,一種是使用open,write方法,一種是print()函式,並將其關鍵字引數file設定為開啟並等待寫入的檔案物件。比如:

print("an error message", file = sys.stdout)

sys.stdout.write("another error message\n")

以上兩行文字都將被列印輸出到sys.stdout中,這是乙個檔案物件,表示「標準輸出流」

如果使用了sys.stdout = io.stringio,那麼輸入到sys.stdout中的檔案都將會傳送給io.stringio。可通過io.stringio.getvalue()函式來獲取值。

3 命令列程式設計

fileinput.input()對控制台中重定向的所有行進行迭代。fileinput.filename()與fileinput.lineno(),該模組可在任意時刻報告當前檔名與行號。

處理命令列選項模組:optparse和getopt

import optparse

def main():

parser = optparse.optionparser()

parser.add_option("-w","--maxwidth",dest = "maxwidth",type = 'int',help = ("the maximum number of characters that can be""output to string fields[default:%default]"))

parser.add_option("-f","--format",dest = 'format',help = "the format used for outputting numbers""[default:%default]")

parser.set_defaults(maxwidth = 100,format = ".0f")#設定初始值

opts,args = parser.parse_args()

4 數學與數字

內建:int,float,complex

數值型標準庫:decimal.decimal,fraction.fraction

標準的數學函式:math

複數數學函式:cmath

隨機數:random

5 時間和日期

calendar和datetime

6 演算法與組合資料型別

bisect 搜尋有序序列

heapq將序列轉換為堆    

import heapq

heap =

heapq.heapify()#將列表轉換為堆,可以自動完成必要的重新排序

heapq.merge()#任意數量的排序後的迭代作為引數返回乙個迭代子。

collection包提供了collectio.defaultdict和collection.named- tuple, collection.userlist, collection.userdict.collection.deque(跟list作用相同但是list只在列表結尾新增或刪除有很快的速度,collection在開始和結尾都有很快的速度。)

collection.orderdict和collection.counter(提供乙個保持各種技術的便捷且快速的方法。以二元組(元素,個數)返回唯一元素或最常見元素的列表。

array提供了序列型別:array.array(與列表的區別是:物件型別是固定的)

weakref:弱引用功能。(與通常引用的區別在於如果對某個物件僅有弱引用,那麼該物件仍然可以被排程進入垃圾收集,用於防止僅因為對其引用而存在記憶體裡。

7 檔案,目錄與程序處理

shutil模組提供了用於檔案與目錄處理的高層函式,用於包括複製檔案與整個目錄的shutil.copy()和shutil.copytree()函式,移動目錄樹的shutil.move()移動整個目錄樹的shutil.rmtree()函式

臨時檔案的建立應該使用tempfile模組,tempfile.mkstemp()建立臨時物件。

filecmp用於檔案的比較filecmp.cmp(),整個目錄的比較filecmp.cmpfiles()

processing 和multiprocessing

os模組:os.environ環境變數名和值。os.getcwd可獲取程式工作目錄。os.chdir修改工作目錄。os.access確定某個檔案是否存在或可讀寫。os.listdir()給定目錄中的條目列表os.stat()返回檔案與目錄的各種資訊項(模式,訪問時間,大小)os.mkdir()建立目錄 os.make-dirs()建立中間目錄。os.rmdir()移除空目錄os.rename()重新命名os.walk()整個目錄樹上迭代,依次取回每個檔案與目錄的名稱os.path.abspath()返回絕對路徑os.path.split()返回二元組,第一項包含路徑第二項則是檔名(os.path.basename()與os.path.dirname())檔名也可分為兩部分(名稱和副檔名)os.splitext()。os.path.join()接受任意數量的路徑字串,並使用特定分隔符返回。

Python基礎 標準庫概覽 22

1.正規表示式庫re 簡單的例項 import re defre test 函式的定義中,可以看出返回的是乙個匹配物件,它單獨使用就沒有任何意義,需要和findall search match 搭配使用,以match 舉例。c cat p re.compile c u p.match c print...

Python3 2官方文件翻譯 標準庫概覽(一)

os模組提供主要許多與作業系統互動的函式。import os os.getcwd return the current working directory c python31 os.chdir server accesslogs change current working directory o...

Python3 2官方文件翻譯 標準庫概覽(一)

os模組提供主要很多與作業系統互動的函式。import os os.getcwd return the current working directory c python31 os.chdir server accesslogs change current working directory o...