问题描述
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
这将为您提供文件的原始数据,您可以使用它来获取代码行数。