FTP上载使用python,rb模式有问题
我有一个zip文件要上传。我知道如何上传。我用Rb模式打开文件。当我想提取我上传的zip文件时,我得到一个错误,zip存档中的文件消失了,我想这是因为Rb模式。我不知道如何提取我上传的文件 代码如下:FTP上载使用python,rb模式有问题,python,zipfile,ftplib,Python,Zipfile,Ftplib,我有一个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('S
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()
您的代码当前使用的是ASCII文件 对于二进制文件(如ZIP文件),您需要改为使用:
当在ZIP文件上使用ASCII模式时,将导致无法使用的文件,这就是您得到的文件。您好,我们很乐意提供帮助,但如果您可以将有问题的代码粘贴到此处,这将是一个很大的步骤,这将帮助您了解应该添加哪些代码:假设您需要告诉FTP客户端/服务器也使用二进制模式?我想你是说,也许吧?这在ftlib API文档中讨论过。哇,谢谢你,伙计。它成功了。你为我做了一些大事,非常感谢
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()