我试图从两个网站下载多个图像文件,并且正在使用多处理模块进行操作,希望能够缩短所需的时间(同步时间约为五分钟)。这是代码是一个独立进程中执行:将下载的文件存储在内存中
def _get_image(self):
if not os.path.isdir(self.file_path + self.folder):
os.makedirs(self.file_path + self.folder)
rand = Random()
rand_num = rand.randint(0, sys.maxint)
self.url += str(rand_num)
opener = urllib.FancyURLopener()
opener.retrieve(self.url, self.file_path + self.folder + '/' + str(rand_num) + '.jpg')
上面的代码是在单独的进程执行和工作正常,但我想它不保存每个文件它的下载之后,但在最后的流程执行。下载后,我希望将它们存储在内部列表或字典中......不幸的是,FancyURLopener不允许将文件存储在内存中,并且坚持在下载后立即将它们写入磁盘。是否有像FancyURLopener这样的工具,但没有磁盘写入?
考虑使用[requests](http://docs.python-requests.org/en/latest/user/quickstart/) – mlt 2013-02-13 19:28:44