Nat*_*055 9 python http urllib python-3.x
所以,我urllib.request在Python 3中搞乱了,我想知道如何将获取Internet文件的结果写入本地机器上的文件.我试过这个:
g = urllib.request.urlopen('http://media-mcw.cursecdn.com/3/3f/Beta.png')
with open('test.png', 'b+w') as f:
f.write(g)
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
TypeError: 'HTTPResponse' does not support the buffer interface
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
注意:我已经看到了这个问题,但它与Python 2中的Python 2 urllib2进行了大修.
更改
f.write(g)
Run Code Online (Sandbox Code Playgroud)
至
f.write(g.read())
Run Code Online (Sandbox Code Playgroud)
我认为更简单的方法(你也可以用两行来完成)是使用:
import urllib.request
urllib.request.urlretrieve('http://media-mcw.cursecdn.com/3/3f/Beta.png', 'test.png')
Run Code Online (Sandbox Code Playgroud)
至于你用的方法。当您使用时,g = urllib.request.urlopen('http://media-mcw.cursecdn.com/3/3f/Beta.png')您只是在获取文件。您必须使用g.read(),g.readlines()或g.readline()阅读它。
这就像读取一个普通文件(语法除外)并且可以以非常相似的方式进行处理。
| 归档时间: |
|
| 查看次数: |
11950 次 |
| 最近记录: |