一、Python常用的標(biāo)準(zhǔn)庫
1、提供了不少與操作系統(tǒng)相關(guān)聯(lián)的函數(shù)庫os
os包是Python與操作系統(tǒng)的接口。我們可以用os包來實現(xiàn)操作系統(tǒng)的許多功能,比如管理系統(tǒng)進(jìn)程,改變當(dāng)前路徑(相當(dāng)于’cd‘),改變文件權(quán)限等,建立。但要注意,os包是建立在操作系統(tǒng)的平臺上的,許多功能在Windows系統(tǒng)上是無法實現(xiàn)的。另外,在使用os包中,要注意其中的有些功能已經(jīng)被其他的包取代。
我們通過文件系統(tǒng)來管理磁盤上儲存的文件。查找、刪除,復(fù)制文件,以及列出文件列表等都是常見的文件操作。這些功能經(jīng)常可以在操作系統(tǒng)中看到(比如ls, mv, cp等Linux命令),但現(xiàn)在可以通過Python標(biāo)準(zhǔn)庫中的glob包、shutil包、os.path包、以及os包的一些函數(shù)等,在Python內(nèi)部實現(xiàn)。
2、通常用于命令行參數(shù)的庫sys
sys包被用于管理Python自身的運(yùn)行環(huán)境。Python是一個解釋器(interpreter), 也是一個運(yùn)行在操作系統(tǒng)上的程序。我們可以用sys包來控制這一程序運(yùn)行的許多參數(shù),比如說Python運(yùn)行所能占據(jù)的內(nèi)存和CPU, Python所要掃描的路徑等。另一個重要功能是和Python自己的命令行互動,從命令行讀取命令和參數(shù)。
3、用于生成隨機(jī)數(shù)的random庫
Python標(biāo)準(zhǔn)庫中的random函數(shù),可以生成隨機(jī)浮點(diǎn)數(shù)、整數(shù)、字符串,甚至幫助你隨機(jī)選擇列表序
列中的一個元素,打亂一組數(shù)據(jù)等。
4、math庫提供了數(shù)學(xué)常數(shù)和數(shù)學(xué)函數(shù)
標(biāo)準(zhǔn)庫中,Python定義了一些新的數(shù)字類型(decimal包, fractions包), 以彌補(bǔ)之前的數(shù)字類型(integer, float)可能的不足。標(biāo)準(zhǔn)庫還包含了random包,用于處理隨機(jī)數(shù)相關(guān)的功能(產(chǎn)生隨機(jī)數(shù),隨機(jī)取樣等)。math包補(bǔ)充了一些重要的數(shù)學(xué)常數(shù)和數(shù)學(xué)函數(shù),比如pi,三角函數(shù)等等。
(盡管numpy并不是標(biāo)準(zhǔn)庫中的包,但它的數(shù)組運(yùn)算的良好支持,讓它在基于Python的科研和計算方面得到相當(dāng)廣泛的應(yīng)用,可以適當(dāng)關(guān)注。)
5、日期和時間的操作庫datetime
日期和時間的管理并不復(fù)雜,但容易犯錯。Python的標(biāo)準(zhǔn)庫中對日期和時間的管理頗為完善(利用time包管理時間,利用datetime包管理日期和時間),你不僅可以進(jìn)行日期時間的查詢和變換(比如:2012年7月18日對應(yīng)的是星期幾),還可以對日期時間進(jìn)行運(yùn)算(比如2000.1.1 13:00的378小時之后是什么日期,什么時間)。通過這些標(biāo)準(zhǔn)庫,還可以根據(jù)需要控制日期時間輸出的文本格式(比如:輸出’2012-7-18‘還是’18 Jul 2012′)
延伸閱讀:
二、數(shù)據(jù)庫管理的庫
數(shù)據(jù)庫是企業(yè)用于存放數(shù)據(jù)的主要工具,數(shù)據(jù)庫管理包括了數(shù)據(jù)定義、數(shù)據(jù)操作、數(shù)據(jù)庫運(yùn)行管理、數(shù)據(jù)組織、數(shù)據(jù)庫庫保護(hù)、數(shù)據(jù)庫維護(hù)等。Python提供了所有主流關(guān)系數(shù)據(jù)庫管理接口,常用的Python MySQL連接庫及其簡介如下所示。
MySQL-python
又稱MySQLdb,是Python連接MySQL最流行的一個驅(qū)動,很多框架也基于此庫進(jìn)行開發(fā)。只支持Python 2.x,且安裝時有許多前置條件。由于該庫基于C語言開發(fā),在Windows平臺上的安裝非常不友好,經(jīng)常出現(xiàn)失敗的情況,現(xiàn)在基本不推薦使用,取代品為衍生版本。
mysqlclient
完全兼容MySQLdb,同時支持Python 3.x,是Django ORM的依賴工具,可使用原生SQL來操作數(shù)據(jù)庫,安裝方式與MySQLdb一致。
PyMySQL
純Python實現(xiàn)的驅(qū)動,速度比MySQLdb慢,最大的特點(diǎn)為安裝方式簡潔,同時也兼容MySQL-python。
SQLAlchemy
一種既支持原生SQL,又支持ORM的工具。ORM是Python對象與數(shù)據(jù)庫關(guān)系表的一種映射關(guān)系,可有效提高寫代碼的速度,同時兼容多種數(shù)據(jù)庫系統(tǒng),如SQLite、MySQL、PostgreSQL,代價為性能上的一些損失。