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