十個python熱門專案,你知道幾個

python程式設計師小'鵬發表於2020-11-06

選擇的十個專案包含了Debug工具、刪除Facebook文章、無限雲盤儲存空間、AI 水軍、併發運算工具、量化交易系統等等。

那麼就來看看這十個專案吧!

第一名:PySnooper

這是一款除錯程式碼的工具,讓你不需要再通過採用print 來定位錯誤發生的地方和原因。目前有11000+ 星。

PySnooper 可以讓你不需要仔細選擇哪些行需要列印資訊,只需要對目標函式新增一行裝飾器,就可以知道很仔細看到函式的執行狀況,包括哪行執行、區域性變數的變化等。

安裝方法很簡單,可以使用pipanaconda兩種安裝方法:

$ pip install pysnooper
或者
$ conda install -c conda-forge pysnooper

一個使用例子如下,首先是需要匯入pysnooper ,然後想知道函式 number_to_bits()的執行情況,只需要新增 @pysnooper.snoop() 即可。

import pysnooper

@pysnooper.snoop()
def number_to_bits(number):
    if number:
        bits = []
        while number:
            number, remainder = divmod(number, 2)
            bits.insert(0, remainder)
        return bits
    else:
        return [0]

number_to_bits(6)

得到的輸出結果:

Starting var:.. number = 6
15:29:11.327032 call         4 def number_to_bits(number):
15:29:11.327032 line         5     if number:
15:29:11.327032 line         6         bits = []
New var:....... bits = []
15:29:11.327032 line         7         while number:
15:29:11.327032 line         8             number, remainder = divmod(number, 2)
New var:....... remainder = 0
Modified var:.. number = 3
15:29:11.327032 line         9             bits.insert(0, remainder)
Modified var:.. bits = [0]
15:29:11.327032 line         7         while number:
15:29:11.327032 line         8             number, remainder = divmod(number, 2)
Modified var:.. number = 1
Modified var:.. remainder = 1
15:29:11.327032 line         9             bits.insert(0, remainder)
Modified var:.. bits = [1, 0]
15:29:11.327032 line         7         while number:
15:29:11.327032 line         8             number, remainder = divmod(number, 2)
Modified var:.. number = 0
15:29:11.327032 line         9             bits.insert(0, remainder)
Modified var:.. bits = [1, 1, 0]
15:29:11.327032 line         7         while number:
15:29:11.327032 line        10         return bits
15:29:11.327032 return      10         return bits
Return value:.. [1, 1, 0]

當然,它還可以只監控函式中的一部分程式碼,還有其他的用法,具體可以到其 Github 上。

連結:

https://github.com/cool-RR/pysnooper?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第二名:DeleteFB

一款用於刪除Facebook 文章的工具,目前有 2224 星。

這款工具是基於Selenium 實現的,因此作者認為它比一些第三方app 更加可靠,並且也不容易遭到 Facebook的阻攔。

幾種安裝方法:

# 1.Install from PyPI
pip install --user delete-facebook-posts

# 2.Clone repo and run
pip install --user .
# or
pip install --user git+https://github.com/weskerfoot/DeleteFB.git

# 3.Set up a Python virtualenv, activate it, and run
pip install -r requirements.txt

其他的詳細介紹可以檢視該Github 專案。

連結:

https://github.com/weskerfoot/DeleteFB?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

三名:無限雲盤儲存空間(UDS : Unlimited Drive Storage)

第三名是一個可以實現不需要佔據空間但能上傳檔案到谷歌雲盤的一個工具,目前 3232 星。

根據它的介紹,實現這個功能主要是通過將二進位制檔案分解成base64的格式,其實現的功能:

將檔案上傳到谷歌雲盤但不會佔據儲存空間;

下載任意儲存的檔案到本地電腦

具體實現的邏輯是:

谷歌文件在谷歌雲盤中是不佔空間的

將二進位制檔案採用 base64 編碼檔案分解為谷歌文件

編碼後的檔案大小總是會大於原始檔,而經過 Base64 編碼的二進位制資料後的檔案和原始檔的比例大約是 4:3

單個谷歌文件可以儲存大約一百萬位元組,這大約是 710 KB 大小的 base64 編碼資料

嘗試採用多執行緒上傳檔案,但沒有顯著提升速度

具體的配置和使用方法可以檢視它在 Github上的介紹。

連結:

https://github.com/stewartmcgown/uds?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第四名:eht-imaging

這是一個應用在射電干涉測量方面的成像、分析、模擬軟體。目前有 5000+ 星。

具體來說,就是可以模擬和操縱VLBI資料並利用正則化的最大似然方法生成圖片的一個 Python 模組。

連結:

https://github.com/achael/eht-imaging?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

官方文件連結:

https://achael.github.io/eht-imaging/

碼字不易廢話兩句:有需要python學習資料的或者有技術問題交流 “點選”即可

第五名:YouTubeCommenter

應用於Youtube,利用AI技術,基於視訊標題生成評論的工具,目前有 159 星。

作者也說了目前該專案僅僅是作為一個參考,還不能真正應用。

感覺如果技術真正成熟,這就是一個 AI 水軍,而且可以快速控制某些視訊的評論。

此外,這裡還有作者的一個視訊介紹和演示,需要科學上網以及良好的英語聽力,視訊大約是 9 分鐘左右,大致簡單看了作者演示的效果,確實離真正可用還是有很大的距離。

https://youtu.be/tY6SvZEic9k

連結:

https://github.com/HackerPoet/YouTubeCommenter?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第六名:stackprinter

這也是一個除錯工具,目前有 900+ 星。

它的一個使用結果如下圖所示,會列印出錯程式碼內容以及這段程式碼周圍的變數數值,這非常符合一個友好的互動的偵錯程式:出錯的程式碼位置,附近變數數值,以及這個函式呼叫這些引數的原因。

在這裡插入圖片描述

安裝方法很簡單:

pip install stackprinter

更詳細的介紹可以檢視其Github

連結:

https://github.com/cknd/stackprinter?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第七名:Pykka

Pykka 是對併發運算中的角色模型(actor model)python 版實現庫,目前有 763 星。

具體細節和使用例子可以檢視官方文件:

https://www.pykka.org/en/latest/

安裝方法如下:

pip install pykka

連結:

https://github.com/jodal/pykka?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第八名:QTSSTM4

一個數字貨幣的量化交易系統。目前有 244 星。

整個系統的結構如下圖所示:

在這裡插入圖片描述

這個系統對於初學者可能比較複雜,作者建議先看看下面三份資料:

BakTst_Org

BakTst_Trd

scripts

詳細的介紹檢視 Github。

連結:

https://github.com/xiaoyao153379/QTSSTM4?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

九名:Maildown

一個簡單的傳送郵件的命令列介面,目前有521 星。

Maildown是基於亞馬遜的 SES 服務,它每個月可以免費傳送62000封郵件,可以滿足大部分人的需求。

因此,在使用 Maildown 之前需要先一個亞馬遜AWS的賬號,註冊地址:

https://aws.amazon.com/

然後也需要有一個SES 賬戶:

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html

安裝方法直接用

pip install maildown

更詳細的介紹請檢視Github

連結:

https://github.com/chris104957/maildown?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第十名:modDetective

這是一個根據修改時間對檔案進行排序操作的工具,目前有 119星。

目前這個工具還在繼續完善和優化中,根據作者的說法,目前查詢速度還是線性的,需要繼續優化。

Github 有一個簡單演示的視訊。

連結:

https://github.com/itsKindred/modDetective?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

以上就是小編今天為大家帶來的內容,小編本身就是一名python開發工程師,我自己花了三天時間整理了一套python學習教程,從最基礎的python指令碼到web開發,爬蟲,資料分析,資料視覺化,機器學習,等,這些資料有想要的小夥伴 " 點選 " 即可領取

相關文章