将URL保存到文件并将其保存在内存中

时间:2014-03-20 04:02:52

标签: python urllib

在Python 3.3中,有没有办法将URL保存到文件并将文件保存在内存中,一步到位?我想避免两次下载文件(浪费带宽),并且还希望避免将文件下载到磁盘,然后从磁盘读取文件(浪费的磁盘IO)。

要将其下载到内存中,我会看到:

import urllib.request
myurl = 'http://blahblah/acsvfile.csv'
myreq = urllib.request.urlopen(myurl)    
mydata = myreq.read()

并将其直接下载到磁盘我看到了(它似乎很快就会被弃用):

urllib.request.urlretrieve(myurl, myfilename)

但是,我无法看到如何将文件的原始副本保存到磁盘或urlretrieve以便让我读取网址的数据。

提前感谢任何想法。

1 个答案:

答案 0 :(得分:4)

只需将mydata写入文件:

import urllib.request
myurl = 'http://blahblah/acsvfile.csv'
myreq = urllib.request.urlopen(myurl)    
mydata = myreq.read()
with open('mydata.html', 'wb') as ofile:
    ofile.write(mydata)