我正在尝试使用“请求”包并从 Github 检索信息,就像请求文档页面解释的那样:
import requests
r = requests.get('https://api.github.com/events')
Run Code Online (Sandbox Code Playgroud)
和这个:
with open(filename, 'wb') as fd:
for chunk in r.iter_content(chunk_size):
fd.write(chunk)
Run Code Online (Sandbox Code Playgroud)
我不得不说我不理解第二个代码块。
Python 文档解释也没有多大帮助。
编辑:我正在尝试做的事情:
使用open路径时是相对于当前目录的。所以如果你open('file.txt','w')说它会file.txt在你的python脚本所在的任何文件夹中创建一个新文件。你也可以指定一个绝对路径,例如/home/user/file.txt在linux中。如果同名文件'file.txt'已经存在,则内容将被完全覆盖。
该'wb'选项是确实的模式。所述'w'装置写入和'b'手段字节。您可以使用'w',当你要写(而非读取)弗罗马文件,并使用'b'二进制文件(而不是文本文件)。'b'在这种情况下使用实际上有点奇怪,因为您正在编写的内容是一个文本文件。指定'w'在这里也同样有效。阅读有关open 文档中的模式的更多信息。
这部分使用iter_contentfrom 方法requests,该方法用于处理您可能不希望一次性全部放入内存的大文件。在这种情况下这是不必要的,因为有问题的页面只有 89 KB。有关更多信息,请参阅请求库文档。
您正在查看的示例旨在处理最一般的情况,其中远程文件可能是二进制文件并且太大而无法在内存中。但是,如果您只访问包含文本的小网页,我们可以使您的代码更具可读性和易于理解:
import requests
r = requests.get('https://api.github.com/events')
with open('events.txt','w') as fd:
fd.write(r.text)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12925 次 |
| 最近记录: |