簡體   English   中英

如何在Python 3中使用urllib.request下載文件?

[英]How do I download a file using urllib.request in Python 3?

所以,我在Python 3中urllib.requesturllib.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM