我試圖從兩個網站下載多個圖像文件,並且正在使用多處理模塊進行操作,希望能夠縮短所需的時間(同步時間約爲五分鐘)。這是代碼是一個獨立進程中執行:將下載的文件存儲在內存中
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