python - Python-Requests:从 git 文件夹中获取所有文件
问题描述
我想从 github 存储库中获取所有文件(以及子目录和其中的文件)。我不想使用 git 包,因为这需要我安装 git(在 Windows 上,所以这不是自动的)。
愿意使用 urllib 或其他东西。我在python 2上。
我可以从这里获取单个文件<如何使用请求从 Github 下载和写入文件>:
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
您可以通过向url发出请求,将整个 github repo 下载为 .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 - 从 tkinter 中的变量获取检查按钮的文本
- java - 如何嵌入经纪人?缺少 broker.xml
- apache - Ubuntu“无法重新启动 apache2.service:未找到单元 apache2.service。”
- android - 如何为 AlertDialog 设置自定义布局?
- python - 在pandas中groupby之后将多列转换为dict
- c# - 在没有着色器的 Unity 上将 YUV420P 转换为 JPEG
- cakephp - 尽管使用安全组件解锁操作,为什么 AJAX 请求会触发 400 响应?
- angular - Angular - 映射到 API 响应中的返回实体
- javascript - 这是您在 csharp 中正确编码 html textarea 的方式吗
- rxjs - 放置 HTMLElement 时 fromEvent 不会触发,放置 Jquery 对象时不会触发