深度剖析Python標(biāo)準(zhǔn)庫(kù)介紹
大多數(shù)開(kāi)發(fā)技術(shù)人員和一些程序員對(duì)于Python這門語(yǔ)言還是不算很了解,在現(xiàn)在這么一個(gè)開(kāi)發(fā)語(yǔ)言滿天飛的時(shí)代,Python還被當(dāng)成一種可以替換Perl的腳本語(yǔ)言,本文就對(duì)Python標(biāo)準(zhǔn)庫(kù)進(jìn)行學(xué)習(xí)研究。
你玩過(guò)的游戲使用文件來(lái)保存存檔;你下的訂單保存在文件中;很明顯,你早上寫的報(bào)告也保存在文件中。幾乎以任何語(yǔ)言編寫的眾多應(yīng)用程序中,文件管理是很重要的一部分。
Python標(biāo)準(zhǔn)庫(kù)當(dāng)然也不例外。在這篇文章中,我們將探究如何使用一些模塊來(lái)操作文件。我們會(huì)完成讀文件,寫文件,增加文件內(nèi)容的操作,還有一些另類的用法。OK,讓我們開(kāi)始吧。
print 'Text file.'使用一定范圍的字符來(lái)匹配同樣可行,就像在正則表達(dá)式中使用一樣。假設(shè)你想要顯示擴(kuò)展名前只有一位數(shù)字的文件的文件名:
- view plaincopy to clipboardprint?
- import pickle
- fileHandle = open ( 'pickleFile.txt', 'w' )
- testList = [ 'This', 2, 'is', 1, 'a', 0, 'test.' ]
- pickle.dump ( testList, fileHandle )
- fileHandle.close()
- import pickle
- fileHandle = open ( 'pickleFile.txt', 'w' )
- testList = [ 'This', 2, 'is', 1, 'a', 0, 'test.' ]
- pickle.dump ( testList, fileHandle )
- fileHandle.close()拆分編組同樣不難:
- view plaincopy to clipboardprint?
- import pickle
- fileHandle = open ( 'pickleFile.txt' )
- testList = pickle.load ( fileHandle )
- fileHandle.close()
- import pickle
- fileHandle = open ( 'pickleFile.txt' )
- testList = pickle.load ( fileHandle )
- fileHandle.close()現(xiàn)在試試存儲(chǔ)更加復(fù)雜的數(shù)據(jù):
- view plaincopy to clipboardprint?
- import pickle
使用前一節(jié)中介紹的模塊,可以實(shí)現(xiàn)在文件中對(duì)字符串的讀寫,然而,有的時(shí)候,你可能需要傳遞其它類型的數(shù)據(jù),如list、tuple、dictionary和其它對(duì)象。在Python中,你可以使用Pickling來(lái)完成。你可以使用Python標(biāo)準(zhǔn)庫(kù)中的“pickle”模塊完成數(shù)據(jù)編組。
文件管理,是眾多編程語(yǔ)言的程序員在編寫應(yīng)用程序是經(jīng)常遇到的問(wèn)題。幸好,和其它語(yǔ)言相比,Python使其出乎意料地容易。Python的標(biāo)準(zhǔn)庫(kù)中提供了許多相關(guān)的模塊幫助程序員解決這方面的問(wèn)題,而它的面向?qū)ο蟮臋C(jī)制也簡(jiǎn)化了操作。好了,現(xiàn)在你已經(jīng)了解了Python標(biāo)準(zhǔn)庫(kù)中文件管理的基本知識(shí),可以在今后的應(yīng)用程序中很好地使用了。
(Jython使Python可以和Java一起工作,使開(kāi)發(fā)者可以在Python里面調(diào)Java的包,也可以在Java里面使用Python的對(duì)象。還有更妙的,由于Jython的解釋器完全用Java編寫,因此可以在支持Java的任何平臺(tái)上部署Python程序。
甚至WEB瀏覽器也可以直接運(yùn)行Python腳本。)在某個(gè)C++應(yīng)用程序中,我們用一組插件來(lái)實(shí)現(xiàn)一些具有統(tǒng)一接口的功能,我們使用Python來(lái)代替動(dòng)態(tài)鏈接庫(kù)形式的插件。這樣可以方便地根據(jù)需求的變化改寫腳本代碼。
而不是必須重新編譯鏈接二進(jìn)制的動(dòng)態(tài)鏈接庫(kù)。Python強(qiáng)大的功能足以勝任,但是有一些操作系統(tǒng)特定的功能需要用C++來(lái)實(shí)現(xiàn),再由Python調(diào)用。所以,最基礎(chǔ)地,我們需要做到:
1. 把Python嵌入到C++應(yīng)用程序中,在C++程序中調(diào)用Python函數(shù)和獲得變量的值;
2. 用C++為Python編寫擴(kuò)展模塊(動(dòng)態(tài)鏈接庫(kù)),在Python程序中調(diào)用C++開(kāi)發(fā)的擴(kuò)展功能函數(shù)。
Python 具有腳本語(yǔ)言中最豐富和強(qiáng)大的類庫(kù),足以支持絕大多數(shù)日常應(yīng)用。它的名字來(lái)源于一個(gè)喜劇,也許最初設(shè)計(jì)Python這種語(yǔ)言的人并沒(méi)有想到今天Python會(huì)在工業(yè)和科研上獲得如此廣泛的使用。
著名的自由軟件作者Eric Raymond在他的文章《如何成為一名黑客》中,將Python列為黑客應(yīng)當(dāng)學(xué)習(xí)的四種編程語(yǔ)言之一,并建議人們從Python開(kāi)始學(xué)習(xí)編程。這的確是一個(gè)中肯的建議,對(duì)于那些從來(lái)沒(méi)有學(xué)習(xí)過(guò)編程或者并非計(jì)算機(jī)專業(yè)的編程學(xué)習(xí)者而言,Python是***的選擇之一。
【編輯推薦】