我会使用模块提供的方便的fileobject复印机功能
shutil。它在我的机器上工作:)
>>> import urllib2>>> import shutil>>> remote_fo = urllib2.urlopen('http://docs.python.org/library/shutil.html')>>> with open('bigfile', 'wb') as local_fo:... shutil.copyfileobj(remote_fo, local_fo)... >>>
更新: 您可能希望将第3个参数传递给该参数,
copyfileobj该参数控制用于传输字节的内部缓冲区的大小。
UPDATe2: 没什么 好想
的。
shutil.copyfileobj.它只是从源文件对象中读取一部分字节,然后将其重复写入目标文件对象,直到没有更多内容可读取为止。这是我从Python标准库中获取的实际源代码:
def copyfileobj(fsrc, fdst, length=16*1024): """copy data from file-like object fsrc to file-like object fdst""" while 1: buf = fsrc.read(length) if not buf: break fdst.write(buf)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)