Python-Requests:从 git 文件夹中获取所有文件

标签 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)

如何复制整个存储库?

最佳答案

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

示例:

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 文件。

关于Python-Requests:从 git 文件夹中获取所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51529060/

相关文章:

git - "refusing to update ref with bad name"使用 `git rebase --rebase-merges` 时

git - 修改远程仓库中的 .git 文件夹

python - os.startfile() python 中带数字的路径

python - A-z 索引 Django

git - hg heads/hg parents 的 git 等价物是什么?

python - 请求如何确定响应的编码?

python - 索引错误 : list index out of range python 2. 7

OSX El Capitan 10.11.6 上忽略 Python 请求或 Urllib2 代理设置

python - 如何用 numpy/scipy 生成矩形脉冲

python - 如何登录/注销 Facebook 用户到 Facebook 应用程序?