五個讓日常編碼更簡單的 Python 庫
今天我們一起來研究一些非常有用的第三方模塊,可以使得我們的日常編碼變得更加簡單方便。
?sh
https://github.com/amoffat/sh
如果曾經在 Python 中使用過 subprocess 庫,那么我們很有可能對它感到失望,它不是最直觀的庫,可能還有些復雜,并且很難處理底層系統調用的輸出。
但是 sh? 庫結束了低效使用子進程的痛苦,使用 sh 庫,我們幾乎可以進行任何想要的系統調用,就好像它是一個普通函數一樣,這使得執行這些調用變得更加簡單和直觀。我們可以像使用普通 Python 函數一樣使用它們。
下面是使用 ls? 從 sh 獲取目錄內容的示例:
我們所要做的就是像導入普通函數一樣導入系統調用,最好的部分是所有函數都是動態生成的,因此我們應該可以訪問底層系統中已經存在的大多數二進制文件。
下次當我們需要進行一些系統調用時,可以嘗試使用 sh。
rstr
https://github.com/leapfrogonline/rstr
如果我們需要一些易于訪問的隨機數據的次數是無法計算的,無論是為代碼構建測試、填充緩沖區還是用隨機數據模糊代碼以查看它在哪里中斷,rstr 庫都能滿足我們的需求。
這個方便的小庫可讓我們生成不同類型的隨機字符串數據,它可以生成字母數字數據、特殊符號,甚至使用正則表達式構建復雜的數據模式。
例如,假設我們想要一串一定長度的數字。我們可以使用下面的 rstr 片段來完成此操作:
這將打印出隨機選擇的 10 位數字,便利!
IPython
https://ipython.org/
IPython 不是一般的模塊,這是一個令人難以置信的交互式 shell 模塊,可增強我們的 Python REPL。IPython 為交互式 Python shell 帶來了一套很棒的功能,例如自動完成、彩色輸出和運行細節。
使用 IPython,引入類和檢查函數變得容易得多。命令歷史更易于導航,并且我們還可以獲得類似于 Zsh 的強大的選項卡完成和自動完成功能。
Humanize
https://github.com/jmoiron/humanize
這個庫實在令人興奮,它將采用日期、時間和數字等數字,并將它們“人性化”成人類可讀的短語,如“三點鐘”或“100 億”,更加優秀的是它會自動執行此操作!
例如,假設我們正在處理一堆非常大的數字(想想數百萬和數十億),并且希望以更友好的方式向用戶展示它們。這個庫可以做到這一點,甚至不費吹灰之力:
Ouptu:
400.0 million
人性化模塊也非常適合計算我們的股市收益(或損失……)并以易于閱讀的方式呈現。
Emoji
https://github.com/carpedm20/emoji/
最后我們介紹一個有趣的庫,這個庫是將表情符號添加到文本中。沒有人愿意將表情符號直接復制并粘貼到他們的代碼中,或者在混亂的字符代碼中摸索。
以下是如何在代碼中添加眨眼表情符號的示例:
這將打印出實際的表情符號,現在當用戶在控制臺中出錯時,就可以向他們眨眼了。