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