如何使用 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")

这里的 commitgithub.Commit.Commit 类型

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

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

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

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

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