1

我想使用 Python [PyGitHub API] 获取 repo [更改和未更改] 中所有文件的文件内容。但不知道如何实现它。简单地说,浏览历史中特定提交 id 的 repo。

是否有任何其他 API 来获取所需的数据?或者可以使用 PyGitHub 本身来完成。

注意:我使用的是 Github API v3。

4

1 回答 1

1

如果您没有下载太大的文件(超过 1MB),如PyGithub/PyGithub/issue 661中所示,那么这个想法是:

  • 在特定提交处请求存储库内容
  • 获取第一次调用返回的文件

那是:

contents = repository.get_dir_contents(urllib.parse.quote(server_path), ref=sha)

然后:

for content in contents:
   if content.type != 'dir':
     file_content = repository.get_contents(urllib.parse.quote(content.path), ref=sha)
     // or
     file_content = repository.get_git_blob(content.sha)
于 2019-12-03T06:02:34.027 回答