Python中那些低調(diào)有趣的模塊
python語言上位成功的其中一個(gè)原因是其豐富的社區(qū)支持,不管你有什么奇奇怪怪的需求,大概率能在網(wǎng)上搜到一個(gè)庫來便捷實(shí)現(xiàn)。這篇文章就列舉了幾個(gè)低調(diào)的python模塊,可能會(huì)派上用場(chǎng)。
textwrap
這個(gè)模塊具可輕松包裝和縮進(jìn)純文本的功能, 當(dāng)你的奇怪需求是將所有打印內(nèi)容以80個(gè)字符包裝到終端時(shí),它很有用。例如,
pprint
我們?cè)谑褂胮ython開發(fā)時(shí),總是會(huì)使用print大法來debug。當(dāng)處理更復(fù)雜的數(shù)據(jù)結(jié)構(gòu),例如嵌套字典,print的輸出就會(huì)顯得非常不規(guī)則,引起不適,這時(shí)候就需要pprint了。
myqr
大概就是一個(gè)自己制作酷炫二維碼的工具
直接看效果(這是一群什么魔鬼),生成的二維碼也是動(dòng)圖噢,感興趣的小伙伴可以玩玩。彩蛋:試試掃上圖二維碼
enum
enum 枚舉模塊是一組符號(hào)名稱(枚舉成員)的集合,枚舉成員應(yīng)該是唯一的、不可變的。在枚舉中,可以對(duì)成員進(jìn)行恒等比較,并且枚舉本身是可迭代的。它可以為值創(chuàng)建具有良好定義的標(biāo)識(shí)符,而不是直接使用字面上的字符串或者整數(shù)。
shelve
當(dāng)使用關(guān)系數(shù)據(jù)庫是一種浪費(fèi)的時(shí)候,shelve 模塊可以為 Python 對(duì)象提供一個(gè)簡單的持久性存儲(chǔ)選擇。就像使用字典一樣,通過關(guān)鍵字訪問 shelf 對(duì)象。其值經(jīng)過序列化,寫入到由 dbm 創(chuàng)建和管理的數(shù)據(jù)庫。
email & smtplib
smtplib模塊是python中smtp(簡單郵件傳輸協(xié)議)的客戶端實(shí)現(xiàn)。我們可以使用smtplib模塊,輕松的發(fā)送電子郵件。email模塊用來處理郵件消息,包括MIME和其他基于RFC 2822 的消息文檔。使用這些模塊來定義郵件的內(nèi)容,是非常簡單的。
sh
如果你需要在python程序中完成某項(xiàng)工作,發(fā)現(xiàn)這在bash中很簡單,但是卻不知道怎么在python中實(shí)現(xiàn)(或者很復(fù)雜),譬如『遞歸搜索文件』。這時(shí)候你就需要嘗試一下sh這個(gè)庫了,它能讓你將shell命令以函數(shù)的形式導(dǎo)入到python中。
Tqdm
說實(shí)話感覺tqdm并不算低調(diào),因?yàn)橹两裎乙呀?jīng)聽到好多人為它代言了。但是,這么好用的工具必須值得再安利一次,tqdm是一個(gè)python進(jìn)度條工具,可以在 Python 長循環(huán)中添加一個(gè)進(jìn)度提示信息,使用時(shí)只需要封裝任意的迭代器即可。
Over~你有什么珍藏/安利的python庫,歡迎在留言區(qū)與大家分享
-?END?-

長按添加“Python小助手”
