J'ai un problème avec la bibliothèque ftplib lorsque je télécharge des fichiers .gz.Les fichiers sont corrompus après les avoir transférés sur un serveur FTP en utilisant ftplib
Le script fonctionnait avant mais en quelque sorte dans l'une de mes milliers d'éditions, j'ai changé quelque chose qui provoque le transfert de fichiers corrompus. Les fichiers sont transférés avec succès au serveur ftp, cependant, les fichiers utilisés lors du ftp ne s'ouvriront pas car ils sont corrompus.
Les fichiers qui vont être transférés sont sans aucun problème. De plus, si les fichiers ne sont pas compressés, le transfert n'a aucun problème. C'est quelque chose avec la façon dont il se lit. GZ
Quelqu'un peut-il me dire quel est le problème avec le code?
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)
BTW, vous ne devriez pas attendre quoi que ce soit après 'gzip'; 'os.system' est synchrone - au moment où il retourne,' gzip' est déjà terminé. –