当我上传.gz文件时,我遇到了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)
答案 0 :(得分:1)
问题在于使用storlines。在这种情况下,需要使用storbinary