五個讓日常編碼更簡單的 Python 庫
今天我們一起來研究一些非常有用的第三方模塊,可以使得我們的日常編碼變得更加簡單方便。
?sh
https://github.com/amoffat/sh
如果曾經(jīng)在 Python 中使用過 subprocess 庫,那么我們很有可能對它感到失望,它不是最直觀的庫,可能還有些復(fù)雜,并且很難處理底層系統(tǒng)調(diào)用的輸出。
但是 sh? 庫結(jié)束了低效使用子進(jìn)程的痛苦,使用 sh 庫,我們幾乎可以進(jìn)行任何想要的系統(tǒng)調(diào)用,就好像它是一個普通函數(shù)一樣,這使得執(zhí)行這些調(diào)用變得更加簡單和直觀。我們可以像使用普通 Python 函數(shù)一樣使用它們。
下面是使用 ls? 從 sh 獲取目錄內(nèi)容的示例:

我們所要做的就是像導(dǎo)入普通函數(shù)一樣導(dǎo)入系統(tǒng)調(diào)用,最好的部分是所有函數(shù)都是動態(tài)生成的,因此我們應(yīng)該可以訪問底層系統(tǒng)中已經(jīng)存在的大多數(shù)二進(jìn)制文件。
下次當(dāng)我們需要進(jìn)行一些系統(tǒng)調(diào)用時,可以嘗試使用 sh。
rstr
https://github.com/leapfrogonline/rstr
如果我們需要一些易于訪問的隨機數(shù)據(jù)的次數(shù)是無法計算的,無論是為代碼構(gòu)建測試、填充緩沖區(qū)還是用隨機數(shù)據(jù)模糊代碼以查看它在哪里中斷,rstr 庫都能滿足我們的需求。
這個方便的小庫可讓我們生成不同類型的隨機字符串?dāng)?shù)據(jù),它可以生成字母數(shù)字?jǐn)?shù)據(jù)、特殊符號,甚至使用正則表達(dá)式構(gòu)建復(fù)雜的數(shù)據(jù)模式。
例如,假設(shè)我們想要一串一定長度的數(shù)字。我們可以使用下面的 rstr 片段來完成此操作:

這將打印出隨機選擇的 10 位數(shù)字,便利!
IPython
https://ipython.org/
IPython 不是一般的模塊,這是一個令人難以置信的交互式 shell 模塊,可增強我們的 Python REPL。IPython 為交互式 Python shell 帶來了一套很棒的功能,例如自動完成、彩色輸出和運行細(xì)節(jié)。

使用 IPython,引入類和檢查函數(shù)變得容易得多。命令歷史更易于導(dǎo)航,并且我們還可以獲得類似于 Zsh 的強大的選項卡完成和自動完成功能。
Humanize
https://github.com/jmoiron/humanize
這個庫實在令人興奮,它將采用日期、時間和數(shù)字等數(shù)字,并將它們“人性化”成人類可讀的短語,如“三點鐘”或“100 億”,更加優(yōu)秀的是它會自動執(zhí)行此操作!
例如,假設(shè)我們正在處理一堆非常大的數(shù)字(想想數(shù)百萬和數(shù)十億),并且希望以更友好的方式向用戶展示它們。這個庫可以做到這一點,甚至不費吹灰之力:

Ouptu:
400.0 million人性化模塊也非常適合計算我們的股市收益(或損失……)并以易于閱讀的方式呈現(xiàn)。
Emoji
https://github.com/carpedm20/emoji/
最后我們介紹一個有趣的庫,這個庫是將表情符號添加到文本中。沒有人愿意將表情符號直接復(fù)制并粘貼到他們的代碼中,或者在混亂的字符代碼中摸索。
以下是如何在代碼中添加眨眼表情符號的示例:

這將打印出實際的表情符號,現(xiàn)在當(dāng)用戶在控制臺中出錯時,就可以向他們眨眼了。






























