Python - 基于文件名从ftp下载文件 - 非常慢和崩溃

时间:2018-02-19 07:34:44

标签: python ftp

目标是从FTP服务器下载特定文件。文件名称中有一个日期,我想根据这些日期(特别是这个例子 - 年份)下载它们,因此文件名是例如: stnobsKRNO_2007-01-01.csv和唯一改变的部分是年份。

我是Python的新手,所以到目前为止我还有这个:

# defining the local directory where we want to store the data 
dir_data = os.path.join(dir_work, 'data_renoobs')

yy = 1985

for yy in range (1985, 2018, 1):

    file_name = 'stnobsKRNO'+str(yy)+'-01-01.csv'

    # creating full local file name path
    file_name_full_path_local = os.path.join(dir_data, file_name)

    # creating the url for download
    url_base = 'ftp://ftp.server'
    url_full_path = url_base+file_name

    # download
    ret = urllib.request.urlopen(url_full_path) 
    urllib.request.urlretrieve(url_full_path, filename=file_name_full_path_local) 

代码似乎是功能性的,但它很慢(小文件,但下载每个文件需要一段时间......加上它总是在某些时候崩溃并返回:

  

URLError:urlopen错误ftp错误:EOFError()

0 个答案:

没有答案