[英]How do I download a file using urllib.request in Python 3?
所以,我在Python 3中urllib.request
用urllib.request
,我想知道如何將獲取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)
但我得到了這個錯誤:
TypeError: 'HTTPResponse' does not support the buffer interface
我究竟做錯了什么?
注意:我已經看到了這個問題 ,但它與Python 2的urllib2
有關,它在Python 3中進行了大修。
更改
f.write(g)
至
f.write(g.read())
我認為更簡單的方法(也可以在兩行中完成)是使用:
import urllib.request
urllib.request.urlretrieve('http://media-mcw.cursecdn.com/3/3f/Beta.png', 'test.png')
至於你使用的方法。 當你使用g = urllib.request.urlopen('http://media-mcw.cursecdn.com/3/3f/Beta.png')
你只是獲取文件。 您必須使用g.read()
, g.readlines()
或g.readline()
來讀取它。
這就像讀取普通文件(語法除外)一樣,可以用非常類似的方式處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.