簡體   English   中英

Github API 如何使用 python 語言獲取具有特定擴展名(.c、.cpp、.py 等)的 git 存儲庫的所有文件的計數?

[英]Github API How to get a count of all the files of a git repository with a particular extension (.c, .cpp, .py etc) using python language?

我正在嘗試實現一個 python 代碼來計算 Github 中具有特定擴展名(存儲庫)的文件。 在這個方向上的任何幫助將不勝感激。

編輯:我只能列出特定語言的存儲庫:例如,通過請求以下 url: url=' https://api.github.com/legacy/repos/search/Go?language=Go '

但是,有什么方法可以檢查具有特定擴展名和計數的所有文件。 我以前從未使用過api。

如果您的 GitHub 存儲庫有很多文件夾和文件,這並不容易。
您將為給定的 repo 使用Get Content API

GET /repos/:owner/:repo/contents/:path

您可以在 python 中調用它,使用 JSON 庫來解碼結果:請參閱此答案

但它不是遞歸函數,因此結果會直接列出:path下的文件和文件夾。
因此,您必須重復該調用才能進入所有子文件夾,獲取所有文件並進行計數。
對於您為特定語言列出的所有存儲庫。

這可以使用search/code API 來完成。 文檔可以在這里找到。 搜索 API 文檔

下面的 URL 將顯示 Angular 存儲庫的打字稿結果。

GitHub 搜索代碼 API → Angular 存儲庫

這種用法的示例查詢是:

q=*+擴展:py+repo:ORG/REPO

將返回一個 total_count 值,該值將給出與為 org 和 repo 提供的擴展名匹配的文件總數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM