Поскольку вы знаете структуру на FTP-сервере, это может быть довольно легко осуществить без использования ftplib.
Было бы чище на самом деле получить список каталогов с сервера, например этот вопрос
(мне не удается подключиться к этому URL-адресу НАСАхотя)
Я бы рекомендовал прочитать здесь , чтобы узнать больше о том, как на самом деле выполнять загрузку с FTP.
Но что-то подобное может сработать.(полное раскрытие: я не проверял)
import urllib
YEARS_TO_DOWNLOAD = 12
BASE_URL = "ftp://cddis.nasa.gov/gnss/products/ionex/"
FILE_PATTERN = "codg{}.{}.Z"
SAVE_DIR = "/home/your_name/nasa_ftp/"
year = 2006
three_digit_number = 0
for i in range(0, YEARS_TO_DOWNLOAD):
target = FILE_PATTERN.format(str(year + i), str(three_digit_number.zfill(3))
try:
urllib.urlretrieve(BASE_URL + target, SAVE_DIR + target)
except urllib.error as e:
print("An error occurred trying to download {}.\nReason: {}".format(target,
str(e))
else:
print("{} -> {}".format(target, SAVE_DIR + target))
print("Download finished!")