Linux中國

8 個用於業餘項目的優秀 Python 庫

Python/Django 的世界裡有這樣一個諺語:為語言而來,為社區而留。對絕大多數人來說的確是這樣的,但是,還有一件事情使得我們一直停留在 Python 的世界裡,不願離開,那就是我們可以很容易地利用一頓午餐或晚上幾個小時的時間,把一個想法快速地實現出來。

這個月,我們來探討一些我們喜歡用來快速完成 業餘項目 side projects 或打發午餐時間的 Python 庫。

在資料庫中即時保存數據:Dataset

當我們想要在不知道最終資料庫表長什麼樣的情況下,快速收集數據並保存到資料庫中的時候,Dataset 庫將是我們的最佳選擇。Dataset 庫有一個簡單但功能強大的 API,因此我們可以很容易的把數據保存下來,之後再進行整理。

Dataset 建立在 SQLAlchemy 之上,所以如果需要對它進行擴展,你會感到非常熟悉。使用 Django 內建的 inspectdb 管理命令可以很容易地把底層資料庫模型導入 Django 中,這使得和現有資料庫一同工作不會出現任何障礙。

從網頁抓取數據:Beautiful Soup

Beautiful Soup(一般寫作 BS4)庫使得從 HTML 網頁中提取信息變得非常簡單。當我們需要把非結構化或弱結構化的 HTML 轉換為結構化數據的時候,就需要使用 Beautiful Soup 。用它來處理 XML 數據也是一個很好的選擇,否則 XML 的可讀性或許會很差。

和 HTTP 內容打交道:Requests

當需要和 HTTP 內容打交道的時候,Requests 毫無疑問是最好的標準庫。當我們想要抓取 HTML 網頁或連接 API 的時候,都離不開 Requests 庫。同時,它也有很好的文檔。

編寫命令行工具:Click

當需要寫一個簡單的 Python 腳本作為命令行工具的時候,Click 是我最喜歡用的庫。它的 API 非常直觀,並且在實現時經過了深思熟慮,我們只需要記住很少的幾個模式。它的文檔也很優秀,這使得學習其高級特性更加容易。

對事物命名:Python Slugify

眾所周知,命名是一件困難的事情。Python Slugify 是一個非常有用的庫,它可以把一個標題或描述轉成一個帶有特性的唯一標識符。如果你正在做一個 Web 項目,並且你想要使用對 搜索引擎優化友好 SEO-friendly 的鏈接,那麼,使用 Python Slugify 可以讓這件事變得很容易。

和插件打交道:Pluggy

Pluggy 庫相對較新,但是如果你想添加一個插件系統到現有應用中,那麼使用 Pluggy 是最好也是最簡單的方式。如果你使用過 pytest,那麼實際上相當於已經使用過 Pluggy 了,雖然你還不知道它。

把 CSV 文件轉換到 API 中:DataSette

DataSette 是一個神奇的工具,它可以很容易地把 CSV 文件轉換為全特性的只讀 REST JSON API,同時,不要把它和 Dataset 庫混淆。Datasette 有許多特性,包括創建圖表和 geo(用於創建互動式地圖),並且很容易通過容器或第三方網路主機進行部署。

處理環境變數等:Envparse

如果你不想在源代碼中保存 API 密鑰、資料庫憑證或其他敏感信息,那麼你便需要解析環境變數,這時候 envparse 是最好的選擇。Envparse 能夠處理環境變數、ENV 文件、變數類型,甚至還可以進行預處理和後處理(例如,你想要確保變數名總是大寫或小寫的)。

有什麼你最喜歡的用於業餘項目的 Python 庫不在這個列表中嗎?請在評論中和我們分享。

via: https://opensource.com/article/18/9/python-libraries-side-projects

作者:Jeff Triplett 選題:lujun9972 譯者:ucasFL 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...