參考:知乎
創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)葉縣,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
Python 常用的標準庫以及第三方庫
standard libs:
itertools
functools 學(xué)好python有必要掌握上面這兩個庫吧,
re 正則
subprocess 調(diào)用shell命令的神器
pdb 調(diào)試
traceback 調(diào)試
pprint 漂亮的輸出
logging 日志
threading和multiprocessing 多線程
urllib/urllib2/httplib http庫,httplib底層一點,推薦第三方的庫requests
os/sys 系統(tǒng),環(huán)境相關(guān)
Queue 隊列
pickle/cPickle 序列化工具
hashlib md5, sha等hash算法
cvs
json/simplejson python的json庫,據(jù)so上的討論和benchmark,simplejson的性能要高于json
timeit 計算代碼運行的時間等等
cProfile python性能測量模塊
glob 類似與listfile,可以用來查找文件
atexit 有一個注冊函數(shù),可用于正好在腳本退出運行前執(zhí)行一些代碼
dis python 反匯編,當對某條語句不理解原理時,可以用dis.dis 函數(shù)來查看代碼對應(yīng)的python 解釋器指令等等。
3th libs:
paramiko ssh python 庫
selenium 瀏覽器自動化測試工具selenium的python 接口
lxml python 解析html,xml 的神器
mechanize Stateful programmatic web browsing
pycurl cURL library module for Python
Fabric Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
xmltodict xml 轉(zhuǎn) dict,真心好用
urllib3 和 requests: 當然其實requests就夠了 Requests: HTTP for Humans
flask web 微框架
ipdb 調(diào)試神器,同時推薦ipython!結(jié)合ipython使用
redis redis python接口
pymongo mongodbpython接口
PIL python圖像處理
mako python模版引擎
numpy , scipy 科學(xué)計算
matplotlib 畫圖
scrapy 爬蟲
django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/服務(wù)器
sh 1.08 — sh v1.08 documentation 用來運行shell 模塊的 極佳選擇
python unicode編碼:
下面的代碼創(chuàng)建了一個Unicode字符串,用UTF-8編碼器將它編碼,然后寫入到一個文件中去,接著把數(shù)據(jù)從文件中讀回來,解碼成Unicode字符串對象,最后,打印出Unicode字符串,用以確認程序正確地運行。
在Linux中編寫,在VIM中輸入如下代碼,保存為uniFile.py
#?/home/xiaopeng/python/code/uniFile.py
'''
An?example?of?reading?and?writing?Unicode?strings:Writes
a?Unicode?string?to?a?file?in?utf-8?and?reads?it?back?in
'''
CODEC?=?'utf-8'?編碼方式
FILE?=?'unicode.txt'?要存的文件名
hello_out?=?u"Hello?world\n"?創(chuàng)建了一個Unicode格式的字符串
bytes_out?=?hello_out.encode(CODEC)?用UTF-8編碼
f?=?open(FILE,'w')
f.write(bytes_out)?寫入指定文件中
f.close()
f?=?open(FILE,'r')
bytes_in?=?f.read()?讀取
f.close()
hello_in?=?bytes_in.decode(CODEC)?解碼
print?hello_in?打印
在終端中輸入:python uniFile.py
結(jié)果打印出 Hello world
然后在python目錄下會發(fā)現(xiàn)多了一個名為unicode.txt的文件,用cat命令查看一下,發(fā)現(xiàn)里面的內(nèi)容和打印的結(jié)果一樣.
把Unicode應(yīng)用到實際中注意一下四點:
1?程序中出現(xiàn)字符串時一定要加一個前綴u
2?不要用str()函數(shù),用Unicode()代替
3 不要用過時的string模塊。如果傳給它非ASCII碼,它會把一切搞砸。
4 不到必須時不要在你的程序里編解碼Unicode字符,只在你要寫入文件或者數(shù)據(jù)庫或者網(wǎng)絡(luò)時,才調(diào)用encode()函數(shù)和decode()函數(shù)。
Python常用庫大全,看看有沒有你需要的。
環(huán)境管理
管理 Python 版本和環(huán)境的工具
p – 非常簡單的交互式 python 版本管理工具。
pyenv – 簡單的 Python 版本管理工具。
Vex – 可以在虛擬環(huán)境中執(zhí)行命令。
virtualenv – 創(chuàng)建獨立 Python 環(huán)境的工具。
virtualenvwrapper- virtualenv 的一組擴展。
包管理
管理包和依賴的工具。
pip – Python 包和依賴關(guān)系管理工具。
pip-tools – 保證 Python 包依賴關(guān)系更新的一組工具。
conda – 跨平臺,Python 二進制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分發(fā)的新標準,意在取代 eggs。
包倉庫
本地 PyPI 倉庫服務(wù)和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 鏡像工具。
devpi – PyPI 服務(wù)和打包/測試/分發(fā)工具。
localshop – 本地 PyPI 服務(wù)(自定義包并且自動對 PyPI 鏡像)。
分發(fā)
打包為可執(zhí)行文件以便分發(fā)。
PyInstaller – 將 Python 程序轉(zhuǎn)換成獨立的執(zhí)行文件(跨平臺)。
dh-virtualenv – 構(gòu)建并將 virtualenv 虛擬環(huán)境作為一個 Debian 包來發(fā)布。
Nuitka – 將腳本、模塊、包編譯成可執(zhí)行文件或擴展模塊。
py2app – 將 Python 腳本變?yōu)楠毩④浖∕ac OS X)。
py2exe – 將 Python 腳本變?yōu)楠毩④浖╓indows)。
pynsist – 一個用來創(chuàng)建 Windows 安裝程序的工具,可以在安裝程序中打包 Python本身。
構(gòu)建工具
將源碼編譯成軟件。
buildout – 一個構(gòu)建系統(tǒng),從多個組件來創(chuàng)建,組裝和部署應(yīng)用。
BitBake – 針對嵌入式 Linux 的類似 make 的構(gòu)建工具。
fabricate – 對任何語言自動找到依賴關(guān)系的構(gòu)建工具。
PlatformIO – 多平臺命令行構(gòu)建工具。
PyBuilder – 純 Python 實現(xiàn)的持續(xù)化構(gòu)建工具。
SCons – 軟件構(gòu)建工具。
交互式解析器
交互式 Python 解析器。
IPython – 功能豐富的工具,非常有效的使用交互式 Python。
bpython- 界面豐富的 Python 解析器。
ptpython – 高級交互式Python解析器, 構(gòu)建于python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的網(wǎng)際郵件擴充協(xié)議)類型檢測。
imghdr – (Python 標準庫)檢測圖片類型。
mimetypes – (Python 標準庫)將文件名映射為 MIME 類型。
path.py – 對 os.path 進行封裝的模塊。
pathlib – (Python3.4+ 標準庫)跨平臺的、面向?qū)ο蟮穆窂讲僮鲙臁?/p>
python-magic- 文件類型檢測的第三方庫 libmagic 的 Python 接口。
Unipath- 用面向?qū)ο蟮姆绞讲僮魑募湍夸?/p>
watchdog – 管理文件系統(tǒng)事件的 API 和 shell 工具
日期和時間
操作日期和時間的類庫。
arrow- 更好的 Python 日期時間操作類庫。
Chronyk – Python 3 的類庫,用于解析手寫格式的時間和日期。
dateutil – Python datetime 模塊的擴展。
delorean- 解決 Python 中有關(guān)日期處理的棘手問題的庫。
moment – 一個用來處理時間和日期的Python庫。靈感來自于Moment.js。
PyTime – 一個簡單易用的Python模塊,用于通過字符串來操作日期/時間。
pytz – 現(xiàn)代以及歷史版本的世界時區(qū)定義。將時區(qū)數(shù)據(jù)庫引入Python。
when.py – 提供用戶友好的函數(shù)來幫助用戶進行常用的日期和時間操作。
文本處理
用于解析和操作文本的庫。
通用
chardet – 字符編碼檢測器,兼容 Python2 和 Python3。
difflib – (Python 標準庫)幫助我們進行差異化比較。
ftfy – 讓Unicode文本更完整更連貫。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速計算編輯距離以及字符串的相似度。
pangu.py – 在中日韓語字符和數(shù)字字母之間添加空格。
pyfiglet -figlet 的 Python實現(xiàn)。
shortuuid – 一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 轉(zhuǎn)換形式 。
uniout – 打印可讀的字符,而不是轉(zhuǎn)義的字符串。
xpinyin – 一個用于把漢字轉(zhuǎn)換為拼音的庫。