2011-06-07 42 views
0

我有一個Python腳本,它從一個匿名ftp站點複製一堆文件。當我嘗試複製數千個時,在所有文件都可以被複制之前,腳本超時。但是,如果我多次運行該腳本,並且每次只複製幾百個文件,則沒有問題。這些文件是文本文件,每個文件大約有10KB的空間。這裏是我的代碼,一旦我已經登錄到FTP站點:當我複製太多文件時,Python腳本超時

for row in rows: 
     stationFilePrefix = "%s" % (row[0]) 
     stationFile = stationFilePrefix + ".dly" 
     f = open(stationFile,"wb") 
     ftp.retrbinary("RETR " + stationFile,f.write) 
     f.close() 

有沒有人對如何抓住一次所有的文件,而無需腳本超時有什麼建議?謝謝!

+3

我想知道你是不是一個好的網絡公民......你真的需要所有這些文件嗎? – Keith 2011-06-07 16:52:28

回答

0

它在技術上並不是一次抓取所有文件,但是如果在較小的文件集上多次調用腳本,那麼您可能會讓腳本本身一次只複製幾百個文件,抓取一個新的設置每個迭代。

0

當你調用它時,ftp.retbinary()會阻塞嗎? 如果不是,則意味着一次打開太多連接,並且網絡無法處理所有連接。