嗨,大家好。我是Python新手,在CentOS上使用Python 2.5。如何使用Python下载文件?
我需要下载像WGET
这样的文件。
我已经做了一些搜索,并有一些解决方案,一个显而易见的方法是这样的:
import urllib2
mp3file = urllib2.urlopen("http://www.example.com/songs/mp3.mp3")
output = open('test.mp3','wb')
output.write(mp3file.read())
output.close()
这工作得很好。但是我想知道,如果mp3文件非常大,比如1Gb,2Gb甚至更大。这段代码片段仍然可以工作吗?有更好的方法来下载Python中的大文件,也许有像WGET
这样的进度条。
非常感谢!
我想你的问题是关于反复读,同时写一大块,而不是整个文件读入内存在一次只给它的所有写出来的之后的磁盘。 – chrisaycock 2010-12-09 21:31:10
可能的重复[流大二进制文件与urllib2文件](http://stackoverflow.com/questions/1517616/stream-large-binary-files-with-urllib2-to-file) – katrielalex 2010-12-09 21:31:27