99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

python常用內(nèi)置模塊詳解

發(fā)布時間:2016-12-30 23:52  回復(fù):0  查看:4633   最后回復(fù):2016-12-30 23:52  

本文和大家分享的主要是python開發(fā)中常用的內(nèi)置模塊,雖然有很多不明覺厲的東西,不過還是分享給大家,希望對大家學(xué)習(xí)和使用python語言有所幫助。

  常用的librariesmodules)如下:

  1python運行時服務(wù)

  * copy: copy模塊提供了對復(fù)合(compound)對象(listtuple,dict,custom class)進行淺拷貝和深拷貝的功能。

  * pickle: pickle模塊被用來序列化python的對象到bytes流,從而適合存儲到文件,網(wǎng)絡(luò)傳輸,或數(shù)據(jù)庫存儲。(pickle的過程也被稱serializing,marshalling或者flattening,pickle同時可以用來將bytes流反序列化為python的對象)。

  * syssys模塊包含了跟python解析器和環(huán)境相關(guān)的變量和函數(shù)。

  其他: atexit,gc,inspect,marshaltraceback,types,warnings,weakref。

  2)數(shù)學(xué)

  * decimalpython中的float使用雙精度的二進制浮點編碼來表示的,這種編碼導(dǎo)致了小數(shù)不能被精確的表示,例如0.1實際上內(nèi)存中為0.100000000000000001,還有3*0.1 == 0.3 False. decimal就是為了解決類似的問題的,擁有更高的精確度,能表示更大范圍的數(shù)字,更精確地四舍五入。

  * mathmath模塊定義了標(biāo)準(zhǔn)的數(shù)學(xué)方法,例如cos(x),sin(x)等。

  * randomrandom模塊提供了各種方法用來產(chǎn)生隨機數(shù)。

  其他:fractions,numbers

  3)數(shù)據(jù)結(jié)構(gòu),算法和代碼簡化

  * array: array代表數(shù)組,類似與list,與list不同的是只能存儲相同類型的對象。

  * bisect: bisect是一個有序的list,其中內(nèi)部使用二分法(bitsection)來實現(xiàn)大部分操作。

  * collectionscollections模塊包含了一些有用的容器的高性能實現(xiàn),各種容器的抽象基類,和創(chuàng)建name-tuple對象的函數(shù)。例如包含了容器deque,defaultdict,namedtuple等。

  * heapqheapq是一個使用heap實現(xiàn)的帶有優(yōu)先級的queue。

  * itertoolsitertools包含了函數(shù)用來創(chuàng)建有效的iterators。所有的函數(shù)都返回iterators或者函數(shù)包含iterators(例如generators generators expression)。

  * operator: operator提供了訪問python內(nèi)置的操作和解析器提供的特殊方法,例如 x+y 為 addx,y),x+=yiaddx,y),a % b modab)等等。

  其他:abccontextlib,functools

  4) string 和 text 處理

  *codecscodecs模塊被用來處理不同的字符編碼與unicode text io的轉(zhuǎn)化。

  * rere模塊用來對字符串進行正則表達式的匹配和替換。

  * stringstring模塊包含大量有用的常量和函數(shù)用來處理字符串。也包含了新字符串格式的類。

  * structstruct模塊被用來在python和二進制結(jié)構(gòu)間實現(xiàn)轉(zhuǎn)化。

  * unicodedataunicodedata模塊提供訪問unicode字符數(shù)據(jù)庫

  5) python數(shù)據(jù)庫訪問

  關(guān)系型數(shù)據(jù)庫擁有共同的規(guī)范Python Database API Specification V2.0,MySQL,Oracle等都實現(xiàn)了此規(guī)范,然后增加自己的擴展。

  * sqlite3: sqlite3 模塊提供了SQLite數(shù)據(jù)庫訪問的接口。SQLite數(shù)據(jù)庫是以一個文件或內(nèi)存的形式存在的自包含的關(guān)系型數(shù)據(jù)庫。

  * DBM-style 數(shù)據(jù)庫模塊:python提供了打了的modules來支持UNIX DBM-style數(shù)據(jù)庫文件。dbm模塊用來讀取標(biāo)準(zhǔn)的UNIX-dbm數(shù)據(jù)庫文件,gdbm用來讀取GNU dbm數(shù)據(jù)庫文件,dbhash用來讀取Berkeley DB數(shù)據(jù)庫文件。所有的這些模塊提供了一個對象實現(xiàn)了基于字符串的持久化的字典,他與字典dict非常相似,但是他的keysvalues都必須是字符串。

  * shelveshelve模塊使用特殊的“shelf”對象來支持持久化對象。這個對象的行為與dict相似,但是所有的他存儲的對象都使用基于hashtable的數(shù)據(jù)庫(dbhashdbm,gdbm)存儲在硬盤。與dbm模塊的區(qū)別是所存儲的對象不僅是字符串,而且可以是任意的與pickle兼容的對象。

  6)文件和目錄處理

  * bz2bz2模塊用來處理以bzip2壓縮算法壓縮的文件。

  * filecmpfilecmp模塊提供了函數(shù)來比較文件和目錄。

  * fnmatchfnmatch模塊提供了使用UNIX shell-style的通配符來匹配文件名。這個模塊只是用來匹配,使用glob可以獲得匹配的文件列表。

  * globglob模塊返回了某個目錄下與指定的UNIX shell通配符匹配的所有文件。

  * gzipgzip模塊提供了類GzipFile,用來執(zhí)行與GNUgzip程序兼容的文件的讀寫。

  * shutil: shutil模塊用來執(zhí)行更高級別的文件操作,例如拷貝,刪除,改名。shutil操作之針對一般的文件,不支持pipes,block devices等文件類型。

  * tarfile: tarfile模塊用來維護tar存檔文件。tar沒有壓縮的功能。

  * tempfiletempfile模塊用來產(chǎn)生臨時文件和文件名。

  * zipfile: zipfile模塊用來處理zip格式的文件。

  * zlib,zlib模塊提供了對zlib庫的壓縮功能的訪問。

  7)操作系統(tǒng)的服務(wù)

  * cmmands: commands模塊被用來執(zhí)行簡單的系統(tǒng)命令,命令以字符串的形式傳入,且同時以字符串的形式返回命令的輸出。但是此模塊只在UNIX系統(tǒng)上可用。

  * configParser,configParser模塊用來讀寫windowsini格式的配置文件。

  * datetime,datetime模塊提供了各種類型來表示和處理日期和時間。

  * errno, 定義了所有的errorcode對應(yīng)的符號名字。

  * io,io模塊實現(xiàn)了各種IO形式和內(nèi)置的open()函數(shù)。

  * logging, logging模塊靈活方便地對應(yīng)用程序記錄eventserrors,warnings,和debuging 信息。這些log信息可以被收集,過濾,寫到文件或系統(tǒng)log,甚至通過網(wǎng)絡(luò)發(fā)送到遠程的機器上。

  *mmap,mmap模塊提供了內(nèi)存映射文件對象的支持,使用內(nèi)存映射文件與使用一般的文件或byte字符串相似。

  *msvcrt,mscrt只可以在windows系統(tǒng)使用,用來訪問Visual C運行時庫的很多有用的功能。

  *optparse,optparse模塊更高級別來處理UNIX style的命令行選項sys.argv。

  * os,os模塊對通用的操作系統(tǒng)服務(wù)提供了可移植的(portable)的接口。os可以認(rèn)為是ntposix的抽象。nt提供windows的服務(wù)接口,posix提供UNIXlinux,mac)的服務(wù)接口。

  * os.path,os.path模塊以可移植的方式來處理路徑相關(guān)的操作。

  * signalsignal模塊用來實現(xiàn)信號(signal)處理,往往跟同步有關(guān)。

  * subprocess,subprocess模塊包含了函數(shù)和對象來統(tǒng)一創(chuàng)建新進程,控制新進程的輸入輸出流,處理進程的返回。

  * timetime模塊提供了各種時間相關(guān)的函數(shù)。常用的time.sleep().

  * winreg, winreg模塊用來操作windows注冊表。

  其他:fcntl。

  8)線程和并行

  * multiprocessing,multiprocessing模塊提供通過subprocess來加載多個任務(wù),通信,共享數(shù)據(jù),執(zhí)行各種同步操作。

  * threading,threading模塊提供了thread類很很多的同步方法來實現(xiàn)多線程編程。

  * queue,queue模塊實現(xiàn)了各種多生產(chǎn)者,多消費者隊列,被用來實現(xiàn)多線程程序的信息安全交換。

  其他:Coroutines and Microthreading。

  9)網(wǎng)絡(luò)編程和套接字(sockets

  * asynchat,asynchat模塊通過封裝asyncore來簡化了應(yīng)用程序的網(wǎng)絡(luò)異步處理。

  * ssl,ssl模塊被用來使用secure sockets layerSSL)包裝socket對象,從而使得實現(xiàn)數(shù)據(jù)加密和終端認(rèn)證。python使用openssl來實現(xiàn)此模塊。

  * socketserver,socketserver模塊提供了類型簡化了TCP,UDPUNIX領(lǐng)域的socket server的實現(xiàn)。

  其他:asyncoreselect。

  10internet應(yīng)用程序編程

  * ftplib,ftplib模塊實現(xiàn)了ftpclient端協(xié)議。此模塊很少使用,因為urllib提供了更高級的接口。

  * http包,包含了http clientserver的實現(xiàn)和cookies管理的模塊。

  * smtplibsmtplib包含了smtp client的底層接口,用來使用smtp協(xié)議發(fā)送郵件。

  * urllib,urllib包提供了高級的接口來實現(xiàn)與http serverftp server和本地文件交互的client。

  * xmlrpc,xmlrpc模塊被用類實現(xiàn)XML-RPC client

  11web 編程

  * cgi,cgi模塊用來實現(xiàn)cgi腳本,cgi程序一般地被webserver執(zhí)行,用來處理用戶在form中的輸入,或生成一些動態(tài)的內(nèi)容。當(dāng)與cgi腳本有管的request被提交,webservercgi作為子進程執(zhí)行,cgi程序通過sys.stdin或環(huán)境變量來獲得輸入,通過sys.stdout來輸出。

  * webbrowserwebbrowser模塊提供了平臺獨立的工具函數(shù)來使用web browser打開文檔。

  其他:wsgiref/WSGI (Python Web Server Gateway Interface).

  12) internet 數(shù)據(jù)處理和編碼

  * base64base64模塊提供了base64,base32,base16編碼方式,用來實現(xiàn)二進制與文本間的編碼和解碼。base64通常用來對編碼二進制數(shù)據(jù),從而嵌入到郵件或http協(xié)議中。

  * binascii,binascii模塊提供了低級的接口來實現(xiàn)二進制和各種ASCII編碼的轉(zhuǎn)化。

  * csv,csv模塊用來讀寫comma-separated valuesCSV)文件。

  * email,email包提供了大量的函數(shù)和對象來使用MIME標(biāo)準(zhǔn)來表示,解析和維護email消息。

  * hashlibhashlib模塊實現(xiàn)了各種secure hashmessage digest algorithms,例如MD5SHA1。

  * htmlparserhtml.parser),此模塊定義了HTMLParser來解析HTMLXHTML文檔。使用此類,需要定義自己的類且繼承于HTMLParser。

  * jsonjson模塊被用類序列化或飯序列化Javascript object notationJSON)對象。

* xml,xml包提供了各種處理xml的方法。


來源:CSDN

您還未登錄,請先登錄

熱門帖子

最新帖子

?