降本增效!12 個必須嘗試的Python工具包!
在本文中,我挑選了 12 個最有用的軟件包給大家分享,相信你有有所收獲!
1、Dash
Dash是相對較新的。它是使用純Python構(gòu)建數(shù)據(jù)可視化應(yīng)用程序的理想選擇,因此特別適合處理數(shù)據(jù)的小伙伴。Dash是Flask,Plotly.js和React.js的混合體。
Dash可以快速將所需的內(nèi)容放入漂亮的儀表板中,而無需觸摸任何一行Javascript。
2、PyGame
Pygame是SDL多媒體庫的Python包裝器模塊。Simple DirectMedia Layer是一個跨平臺的開發(fā)庫,旨在提供對OpenGL和Direct3D Pygame的音頻鍵盤鼠標(biāo)操縱桿圖形硬件的低級訪問,并且高度可移植,并且可以在幾乎所有平臺和操作系統(tǒng)上運(yùn)行。
它具有完善的游戲引擎,也可以使用該庫直接從Python腳本中播放MP3文件。
3、Pillow
Pillow 是 Python 圖像庫的分支。你可以使用該庫來創(chuàng)建縮略圖,在文件格式之間進(jìn)行轉(zhuǎn)換,旋轉(zhuǎn),應(yī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 非常容易,因?yàn)?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 請求確實(shí)非常簡單,但仍然非常強(qiáng)大且用途廣泛。
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進(jìn)行身份驗(yàn)證
- 執(zhí)行POST,PUT,DELETE等。
- 使用自定義證書
- 使用會話
- 使用代理
7、Simplejson
Python中的本地json模塊有什么問題?沒有!實(shí)際上,Python的json是simplejson,它具有如下優(yōu)點(diǎn):
- 它可以在更多Python版本上使用。
- 它比Python隨附的版本更新頻率更高。
- 它具有用C編寫的,因此非??焖佟?/li>
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ù)流的字符集。例如,這在分析大量隨機(jī)文本時很有用。但是,當(dāng)你不知道字符集是什么時,也可以在處理遠(yuǎn)程下載的數(shù)據(jù)時使用它。安裝chardet之后,您還有一個名為chardetect的額外命令行工具,可以像這樣使用:
$ chardetect somefile.txt
somefile.txt: ascii with confidence 1.0
10、Python-dateutil
python-dateutil 模塊提供了對標(biāo)準(zhǔn) datetime 模塊的強(qiáng)大擴(kuò)展??梢允褂么藥熳龊芏嗪馨舻氖虑?比如:對日志文件中的日期進(jìn)行模糊解析。
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、進(jìn)度條
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動畫形式進(jìn)行一些演示:
12、IPython
如果你經(jīng)常使用交互式程序,但是不了解IPython,則應(yīng)該試驗(yàn)一下!增強(qiáng)的IPython shell提供的一些功能包括:
- 全面的對象自省。
- 輸入歷史記錄,跨會話持續(xù)存在。
- 在具有自動生成的引用的會話期間緩存輸出結(jié)果。
- 制表符補(bǔ)全,默認(rèn)情況下支持python變量和關(guān)鍵字,文件名和函數(shù)關(guān)鍵字的補(bǔ)全。
- "魔術(shù)"命令,用于控制環(huán)境并執(zhí)行許多與IPython或操作系統(tǒng)相關(guān)的任務(wù)。
- 會話日志記錄和重新加載。對pdb調(diào)試器和Python分析器的集成訪問。
- IPython的一個鮮為人知的功能:它的體系結(jié)構(gòu)還允許并行和分布式計算。
- IPython是Jupyter Notebook的核心,它是一個開放源代碼Web應(yīng)用程序,可讓你創(chuàng)建和共享包含實(shí)時代碼,方程式,可視化效果和敘述文本的文檔。