我有一个要上传的zip文件。我知道如何上传它。我用“Rb”模式打开文件。当我想提取我上传的zip文件时,我收到一个错误,ZIP存档中的文件消失了,我认为这是因为“Rb”模式。我不知道如何提取我上传的文件。
以下是代码:
filename="test.zip"
ftp=ftplib.FTP("ftp.test.com")
ftp.login('xxxx','xxxxx')
ftp.cwd("public_html/xxx")
myfile=open("filepath","rb")
ftp.storlines('STOR ' + filename,myfile)
ftp.quit()
ftp.close()
答案 0 :(得分:0)
您的代码目前正在使用ftp.storlines()
,用于ASCII文件。
对于ZIP文件等二进制文件,您需要使用ftp.storbinary()
代替:
import ftplib
filename = "test.zip"
with open(filename, 'rb') as f_upload:
ftp = ftplib.FTP("ftp.test.com")
ftp.login('xxxx', 'xxxxx')
ftp.cwd("public_html/xxx")
ftp.storbinary('STOR ' + filename, f_upload)
ftp.quit()
ftp.close()
在ZIP文件上使用ASCII模式时,会导致文件无法使用。