У меня возникла проблема с библиотекой ftplib при загрузке файлов .gz.Файлы повреждены после передачи их на FTP-сервер с использованием ftplib
Сценарий работал раньше, но как-то в одной из моих тысяч выпусков, я изменил то, что вызывает перенос поврежденных файлов. Файлы успешно передаются на ftp-сервер, однако файлы, которые используются в ftp, не будут открыты, потому что они повреждены.
Файлы, которые будут переданы, не имеют проблем. Кроме того, если файлы не сжимаются, передача не вызывает никаких проблем. Это то, что читается .gz
Может ли кто-нибудь сообщить мне, что не так с кодом?
for filename in dir:
os.system("gzip %s/%s" % (Path, filename))
time.sleep(5) # Wait up to 4 seconds to compress file
zip_filename = filename + '.gz'
try:
# Connect to the host
ftp = ftplib.FTP(host)
# Login to the ftp server
ftp.login(username, password)
# Transfer the file
myfile = open(zip_filename, 'rb')
ftp.storlines("STOR temp/" + zip_filename, myfile)
myfile.close()
except ftplib.all_errors as e:
print(e)
Кстати, вам не нужно ждать ничего после 'gzip'; 'os.system' является синхронным - к моменту его возвращения' gzip' уже завершен. –