Python:ftputil只上传36kb的18mb文件
ftputil就是炸弹。。。。差不多了 下面我对host.upload的调用对小文本文件非常有效。对于较大的文件(我主要处理9-20GB的文件),没有例外,也没有错误,但只上载了10-40kb 从同一个客户端,我可以使用filezilla客户端很好地上传大文件,所以我知道没有这种问题。filezilla客户端和ftputil都使用主动模式ftp(防火墙有ftp修复程序,其中一个防火墙导致被动模式出现问题) 如何解决Python:ftputil只上传36kb的18mb文件,python,ftp,Python,Ftp,ftputil就是炸弹。。。。差不多了 下面我对host.upload的调用对小文本文件非常有效。对于较大的文件(我主要处理9-20GB的文件),没有例外,也没有错误,但只上载了10-40kb 从同一个客户端,我可以使用filezilla客户端很好地上传大文件,所以我知道没有这种问题。filezilla客户端和ftputil都使用主动模式ftp(防火墙有ftp修复程序,其中一个防火墙导致被动模式出现问题) 如何解决 class MySession(ftplib.FTP): def __
class MySession(ftplib.FTP):
def __init__(self, ftpServer, ftpUser, ftpPassword, ftpPort):
ftplib.FTP.__init__(self)
self.set_debuglevel(ftpDebugLevel)
self.set_pasv(False)
self.connect(ftpServer, ftpPort)
self.login(ftpUser, ftpPassword)
host = ftputil.FTPHost(ftpServer, ftpUser, ftpPassword, ftpPort, session_factory=MySession)
file = '18MBfile.zip'
print('ftp file to upload is:' + file + ' -- ' + join(dirpath,file) + ' -- ' + os.path.basename(file))
upload = host.upload(join(dirpath,file), destDir + os.path.basename(file)) # local, remote -- for remote: extract just file name from full path+filename
我很好奇你为什么要使用
ftputil
。对于新奇的东西,它比原始的ftplib
简单得多。但是你所做的只是将一个文件上传到一个固定的位置,而且你写的ftplib
代码是ftputil
代码的8倍,那么为什么不首先在ftplib
中完成呢,您能否至少使用等效的普通ftplib
代码对其进行测试,以缩小问题发生的范围?