Итак, я загружаю некоторые файлы данных с ftp-сервера. Мне нужно ежедневно входить и получать новые файлы и сохранять их на своем компьютере, но только новые.Как загрузить файл по FTP и сохранить его локально, только если он еще не существует?
код до сих пор:
from ftplib import FTP
import os
ftp = FTP('ftp.example.com')
ftp.login()
ftp.retrlines('LIST')
filenames = ftp.nlst()
for filename in filenames:
if filename not in ['..', '.']:
local_filename = os.path.join('C:\\Financial Data\\', filename)
file = open(local_filename, mode = 'x')
ftp.retrbinary('RETR '+ filename, file.write)
Я думал об использовании if not os.path.exists()
, но мне нужно os.path.joint для этой работы. Используя open() с mode = 'x', как указано выше, я получаю следующее сообщение об ошибке: «FileExistsError: [Errno 17] Файл существует»
Ошибка обработки пути, или есть опрятный трюк, который я Не хватает?