目标是从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()