Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FTP上载使用python,rb模式有问题_Python_Zipfile_Ftplib - Fatal编程技术网

FTP上载使用python,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

我有一个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()

您的代码当前使用的是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()