Python Tutorial(十):浏览标准库(一)
10.1 操作系統(tǒng)接口
os模塊提供很多函數(shù)用于和操作系統(tǒng)的交互:
確定使用import os風(fēng)格而不是from os import *。這將避免os.open()被內(nèi)建的open()函數(shù)遮住,它的操作截然不同。
內(nèi)建的函數(shù)dir()和help()作為交互助手對于大的模塊像os是非常有用的:
對于日常的文件和目錄管理任務(wù),shutil模塊提供了一個更高級別的接口,使用起來很簡單:
10.2 文件通配符
glob模塊提供了一個函數(shù)可以從目錄通配符搜索獲得文件列表:
10.3 命令行參數(shù)
通常的功能腳本經(jīng)常需要處理命令行參數(shù)。這些參數(shù)存儲在sys模塊的argv屬性里,是一個列表。例如,下面是從命令行運(yùn)行python demo.py one two three的輸出結(jié)果:
getopt模塊處理sys.argv,使用Unix的getopt()函數(shù)的約定。更加強(qiáng)大和靈活的命令行處理由argparse模塊提供。
10.4 錯誤輸出重定向和程序終止
sys模塊也有屬性stdin,stdout,stderr。后一個對于發(fā)出警告和錯誤消息并使它們可見非常有用,甚至當(dāng)stdout已經(jīng)被重定向:
最直接的方式來終止一個腳本是使用sys.exit()。
10.5 字符串模式匹配
re模塊提供正則表達(dá)式用于高級的字符串處理。對于復(fù)雜的匹配和操作,正則表達(dá)式提供簡潔,優(yōu)化的解決方案:
當(dāng)只需要簡單的功能是,優(yōu)先使用字符串方法,因為它們易于閱讀和調(diào)試:
10.6 數(shù)學(xué)
math模塊訪問底層的C語言庫用于浮點數(shù)學(xué):
random模塊提供工具用于隨機(jī)數(shù)選擇:
SciPy項目有許多其它的模塊用于數(shù)字運(yùn)算。
10.7 因特網(wǎng)訪問
有許多模塊用于訪問因特網(wǎng)和處理因特網(wǎng)協(xié)議。最簡單的兩個是urllib.request用于從URL獲取數(shù)據(jù)和smtplib用于發(fā)送郵件:
10.8 日期和時間
datetime模塊提供一些類用于以簡單和復(fù)雜的方式操作日期和時間。日期和時間的算術(shù)被支持,實現(xiàn)的焦點是關(guān)于為輸出格式化和操作的有效數(shù)字抽取。模塊也支持時區(qū)意識的對象:
10.9 數(shù)據(jù)壓縮
普通的數(shù)據(jù)存檔和壓縮格式直接被模塊支持的有,zlib,gzip,bz2,lzma,zipfile和tarfile:
10.10 性能測量
一些Python用戶對同樣的問題不同的解決方法的相對表現(xiàn)性能產(chǎn)生了興趣。Python提供了一個測量工具可以立即來回答這些問題。
例如,嘗試使用元組打包和解包特性而不是傳統(tǒng)的方法來交換參數(shù)。timeit模塊快速地演示一個謙虛性能好處:
相對于timeit的很好的粒度級別,profile和pstats模塊提供工具用于在大塊的代碼中標(biāo)示時間關(guān)鍵部分。
10.11 質(zhì)量控制
開發(fā)出高質(zhì)量軟件的一個方法是在開發(fā)期間為每一個函數(shù)寫測試,并且在開發(fā)過程中經(jīng)常運(yùn)行這些測試。
doctest模塊提供一個工具用于掃描一個模塊和驗證嵌入在一個程序的文檔字符串里面的測試。測試構(gòu)造簡單的就是剪切和粘貼一個典型的調(diào)用和它的結(jié)果到文檔字符串里面。這通過給用戶提供示例改進(jìn)了文檔,并且它允許doctest模塊來確認(rèn)代碼對于文檔來說仍然是真的:
unittest模塊并不是和doctest模塊一樣容易,但是,它允許一個更加綜合的測試集合在一個分離的文件中被維護(hù):
10.12 包含的框架
Python有一個“框架包含”哲學(xué)。通過它的大部分包的有經(jīng)驗和堅定的能力可以更好的看到這一點。例如:
- xmlrpc.client和xmlrpc.server模塊使遠(yuǎn)程過程調(diào)用實現(xiàn)到一個幾乎不重要的任務(wù)中。盡管模塊名稱,沒有直接的知識或處理必須的XML。
- email包是一個庫用于管理email消息,包括MIME和其它基于RFC2822的消息文檔。不像smtplib和poplib,它們實際發(fā)送和接收消息,email包有一個完整的工具集用于構(gòu)建或解碼復(fù)雜的消息結(jié)構(gòu)(包括附件)和實現(xiàn)因特網(wǎng)編碼和頭協(xié)議。
- xml.dom和xml.sax包對解析這種流行的數(shù)據(jù)交互格式提供堅強(qiáng)的支持。同樣地,csv模塊支持以普通數(shù)據(jù)庫格式的直接讀和寫。總之,這些模塊和包極大的簡化了在Python應(yīng)用和其它工具之間的數(shù)據(jù)交互。
- 國際化通過一些模塊被支持,包括gettext,locale和codecs包。
本文是對官方網(wǎng)站內(nèi)容的翻譯,原文地址:http://docs.python.org/3/tutorial/stdlib.html
轉(zhuǎn)載于:https://www.cnblogs.com/lixinjie/archive/2013/03/04/python-stdlib-1.html
總結(jié)
以上是生活随笔為你收集整理的Python Tutorial(十):浏览标准库(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无精症Y染色体微缺失
- 下一篇: 小巴士电动车E600电池60V20A多少