2011-07-05 34 views
-3

我正在寫簡單的工具來保留我已經複製的每個圖像(圖像的URL) 我使用pythoncom和pyhook來捕獲鍵盤「複製」組合。 這裏的問題是,當圖像開始下載時會導致主要的放緩,所以我必須等待0.5-2秒才能完成腳本。下面的代碼:使用Python和urllib2下載低優先級文件

response = urllib2.urlopen (URL) 
image_file = response.read() 
file = open (path + filename, 'wb') 
file.write (image_file) 
file.close() 

所以,問題是 - 有沒有擺脫這種延遲的方法嗎?

+2

有什麼重大放緩?系統的 –

+0

。大約需要1-2秒才能恢復我的鼠標和鍵盤控制。哦,順便說一句,贏得XP SP3如果有幫助。 – Wings

+2

也許嘗試在單獨的線程中執行請求,以便它在工作時不凍結接口。 –

回答

2

目前狀態(未經編輯)的問題不是很清楚。但我覺得你的問題是你必須在處理它之前從某個地方下載圖像。爲了解決這個問題,我會使用以下兩種方法之一:

  • 搶先下載。您開始下載最有可能在程序空閒時間期間用戶希望下載的圖像,以便當/如果用戶最終選擇下載它時,只需從預先下載的緩存中「挑選」它即可。
  • 您會得到一個異步進程爲您下載它。這種情況在程序邏輯方面更難以管理。你應該看看multiprocessing module documentation。該模塊是自2.6版以來的標準庫的一部分。
+0

謝謝,就是這樣!我從來沒有想過我可以使用空閒時間來下載圖像。所以我只需等待用戶停止操作並使用該時間來緩存圖像。 – Wings