如何使用 PyGithub/Githubsearch api 获取远程仓库中文件的代码行数?

How to get number of lines of code of a file in a remote repo using PyGithub/ Githubsearch api?

commit = repo.get_commit(sha="0adf369fda5c2d4231881d66e3bc0bd12fb86c9a")
print(commit.stats.total)
i = commit.files[0].filename

我可以得到文件名,甚至是文件sha;但似乎无法获取文件的位置。有什么指点吗?

让我们看看这一行

commit = repo.get_commit(sha="0adf369fda5c2d4231881d66e3bc0bd12fb86c9a")

这里的commit是类型github.Commit.Commit

现在当你选择一个文件时,它的类型是 github.File.File

如果您检查过,您会发现没有真正的方法可以直接获取代码行。但是有一个重要的字段 raw_url.

这会给你文件的raw_url,你现在可以得到,也许像

url = commit.files[0].raw_url
r = requests.get(url)
r.text

这将为您提供文件的原始数据,您可以使用它来获取代码行数。