使用Python从ftp下载

时间:2012-11-23 20:04:18

标签: python ftp download ftplib

我在Python中有一段代码可以从ftp下载文件。代码会下载可用天数列表中的第一个文件,但无法下载第二个文件。可能是什么问题呢?

import os, ftplib 
destdir='D:\precipitation\dl' 
ftp = ftplib.FTP('ftp.itc.nl')  
ftp.login('anonymous', '') 
ftp.cwd('pub/mpe/msg') 
available_days=['summsgmpe_20100101.zip','summsgmpe_20100102.zip', 'summsgmpe_20100103.zip', 'summsgmpe_20100104.zip', 'summsgmpe_20100105.zip', 'summsgmpe_20100106.zip', 'summsgmpe_20100107.zip', 'summsgmpe_20100108.zip'] 
hdfs = list() 
for day in available_days : 
    file = available_days[available_days.index(day)] 
    print 'file=', file 
    local_file = os.path.join(destdir, file) 
    ftp.retrbinary('RETR %s' %file, open(local_file, 'wb').write) 
    hdfs.append(os.path.abspath(local_file)) 
    ftp.cwd('..')  
ftp.quit()

1 个答案:

答案 0 :(得分:3)

移除您对ftp.cwd(..)

的电话

对于列表的每次迭代,都会向上移动目录,而不是保留在文件所在的正确文件夹中。