Python请求:从git文件夹获取所有文件

时间:2018-07-25 23:33:48

标签: python git python-requests

我想从github存储库中获取所有文件(以及子目录及其中的文件)。 我不想使用git包,因为这需要我安装git(在Windows上,所以这不是自动的事情。)

将使用urllib或其他替代方法。我在使用python 2。

我可以从此处<{How to download and write a file from Github using Requests>中获得单个文件,并带有:

filename = getcwd() + '\\somefile.txt'

url = 'https://raw.github.com/kennethreitz/requests/master/README.rst'

r=requests.get(url)

with open(filename,'w+') as f:
    f.write(r.content)

如何复制整个存储库?

1 个答案:

答案 0 :(得分:1)

您可以通过向https://github.com/user/repo/archive/branch.zip网址提出请求,将整个github存储库下载为.zip文件。 branch是您要下载的分支的名称(通常是主分支)。

示例:

import os

filename = os.path.join(os.getcwd(), 'repo.zip')
url = 'https://github.com/requests/requests/archive/master.zip'

r = requests.get(url)

with open(filename, 'wb') as f:
    f.write(r.content)

您还应该以二进制模式打开文件,以防万一(使用wb),因为它正在保存.zip文件。