降本增效!12 個必須嘗試的 Python 工具包!
為什么我們都喜歡Python?對于初學者來說,這是一種美觀且易于學習的編程語言,可減少我們的學習成本。另外它是開源的,這意味著它將包含許多出色的庫。
在本文中,我挑選了 12 個最有用的軟件包給大家分享,相信你有有所收獲!
1、Dash
Dash是相對較新的。它是使用純Python構建數(shù)據(jù)可視化應用程序的理想選擇,因此特別適合處理數(shù)據(jù)的小伙伴。Dash是Flask,Plotly.js和React.js的混合體。
Dash可以快速將所需的內(nèi)容放入漂亮的儀表板中,而無需觸摸任何一行Javascript。
2、PyGame
Pygame是SDL多媒體庫的Python包裝器模塊。Simple DirectMedia Layer是一個跨平臺的開發(fā)庫,旨在提供對OpenGL和Direct3D Pygame的音頻鍵盤鼠標操縱桿圖形硬件的低級訪問,并且高度可移植,并且可以在幾乎所有平臺和操作系統(tǒng)上運行。
它具有完善的游戲引擎,也可以使用該庫直接從Python腳本中播放MP3文件。
3、Pillow
Pillow 是 Python 圖像庫的分支。你可以使用該庫來創(chuàng)建縮略圖,在文件格式之間進行轉換,旋轉,應用濾鏡,顯示圖像等等。如果需要對許多圖像執(zhí)行批量操作,這是理想的選擇。
為了快速了解它,這是如何從Python代碼顯示圖像的方法:
from?PIL?import?Image
im?=?Image.open("kittens.jpg")
im.show()
print(im.format,?im.size,?im.mode)
#?JPEG?(1920,?1357)?RGB

4、Colorama
使用Colorama,可以向終端添加一些顏色:
from?colorama?import?Fore,?Back,?Style
print(Fore.RED?+?'some?red?text')
print(Back.GREEN?+?'and?with?a?green?background')
print(Style.DIM?+?'and?in?dim?text')
print(Style.RESET_ALL)
print('back?to?normal?now')
該文檔簡短而有趣,可以在Colorama PyPI頁面上找到。如果也想在Windows上使用它,則需要先調(diào)用colorama.init()。
5、JmesPath
在 Python 中使用 JSON 非常容易,因為 JSON 在 Python 字典上的映射非常好。對我來說,這是它最好的功能之一。
import?jmespath
#?Get?a?specific?element
d?=?{"foo":?{"bar":?"baz"}}
print(jmespath.search('foo.bar',?d))
#?baz
#?Using?a?wildcard?to?get?all?names
d?=?{"foo":?{"bar":?[{"name":?"one"},?{"name":?"two"}]}}
print(jmespath.search('foo.bar[*].name',?d))
#?[“one”,?“two”]
6、Requests
Requests 建立下載次數(shù)最多的Python庫之一。它使 Web 請求確實非常簡單,但仍然非常強大且用途廣泛。
import?requests
r?=?requests.get('https://api.github.com/user',?auth=('user',?'pass'))
r.status_code
#?200
r.headers['content-type']
#?'application/json;?charset=utf8'
r.encoding
#?'utf-8'
r.text
#?u'{"type":"User"...'
r.json()
#?{u'disk_usage':?368627,?u'private_gists':?484,?...}
這是一個非?;镜氖纠钦埱笠部梢酝瓿伤懈呒壒ぷ?,例如:
使用cookie進行身份驗證 執(zhí)行POST,PUT,DELETE等。 使用自定義證書 使用會話 使用代理
7、Simplejson
Python中的本地json模塊有什么問題?沒有!實際上,Python的json是simplejson,它具有如下優(yōu)點:
它可以在更多Python版本上使用。 它比Python隨附的版本更新頻率更高。 它具有用C編寫的,因此非??焖?。
try:
??import?simplejson?as?json
except?ImportError:
??import?json
8、表情符號
這個 emoji 會給人留下深刻印象或排斥感,這取決于誰在看。如果你分析社交媒體數(shù)據(jù)時,這一功能派上了用場。

import?emoji
result?=?emoji.emojize('Python?is?:thumbs_up:')
print(result)
#?'Python?is?'
#?You?can?also?reverse?this:
result?=?emoji.demojize('Python?is?')
print(result)
#?'Python?is?:thumbs_up:'
9、Chardet
可以使用chardet模塊檢測文件或數(shù)據(jù)流的字符集。例如,這在分析大量隨機文本時很有用。但是,當你不知道字符集是什么時,也可以在處理遠程下載的數(shù)據(jù)時使用它。安裝chardet之后,您還有一個名為chardetect的額外命令行工具,可以像這樣使用:
$?chardetect?somefile.txt
somefile.txt:?ascii?with?confidence?1.0
10、Python-dateutil
python-dateutil 模塊提供了對標準 datetime 模塊的強大擴展??梢允褂么藥熳龊芏嗪馨舻氖虑?比如:對日志文件中的日期進行模糊解析。
from?dateutil.parser?import?parse
logline?=?'INFO?2020-01-01T00:00:01?Happy?new?year,?human.'
timestamp?=?parse(logline,?fuzzy=True)
print(timestamp)
#?2020-01-01?00:00:01
11、進度條
progress 的使用方法
from?progress.bar?import?Bar
bar?=?Bar('Processing',?max=20)
for?i?in?range(20):
????#?Do?some?work
????bar.next()
bar.finish()
tqdm的功能大致相同,但它是最新的。首先以gif動畫形式進行一些演示:

12、IPython
如果你經(jīng)常使用交互式程序,但是不了解IPython,則應該試驗一下!增強的IPython shell提供的一些功能包括:
全面的對象自省。 輸入歷史記錄,跨會話持續(xù)存在。 在具有自動生成的引用的會話期間緩存輸出結果。 制表符補全,默認情況下支持python變量和關鍵字,文件名和函數(shù)關鍵字的補全。 "魔術"命令,用于控制環(huán)境并執(zhí)行許多與IPython或操作系統(tǒng)相關的任務。 會話日志記錄和重新加載。對pdb調(diào)試器和Python分析器的集成訪問。 IPython的一個鮮為人知的功能:它的體系結構還允許并行和分布式計算。 IPython是Jupyter Notebook的核心,它是一個開放源代碼Web應用程序,可讓你創(chuàng)建和共享包含實時代碼,方程式,可視化效果和敘述文本的文檔。

--end--
掃碼即可加我微信
學習交流
老表朋友圈經(jīng)常有贈書/紅包福利活動
