Python 使用storbinary进行部分FTP上载

Python 使用storbinary进行部分FTP上载,python,ftp,Python,Ftp,我正在通过ftp向服务器发送一个xml文件,但它在53KB中的48KB处被切断 代码是: if __name__ == '__main__': ftp = ftplib.FTP("IP") ftp.login(user = 'NAME', passwd = 'PASS') ftp.cwd('/web/content/tree/_demo') a.write('<root>\n' + DirXML(dirname) + '\n</root>

我正在通过ftp向服务器发送一个xml文件,但它在53KB中的48KB处被切断

代码是:

if __name__ == '__main__':

    ftp = ftplib.FTP("IP")
    ftp.login(user = 'NAME', passwd = 'PASS')
    ftp.cwd('/web/content/tree/_demo') 
    a.write('<root>\n' + DirXML(dirname) + '\n</root>')
    f=open(outputname,'rb')
    ftp.storbinary('STOR '+os.path.basename(outputname),f)
    f.close()
    ftp.quit()
如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu':
ftp=ftplib.ftp(“IP”)
ftp.login(用户='NAME',密码='passwd')
cwd(“/web/content/tree/_demo”)
a、 写入('\n'+DirXML(dirname)+'\n')
f=打开(outputname,'rb')
ftp.storbinary('STOR'+os.path.basename(outputname),f)
f、 关闭()
ftp.quit()
与此相同的问题: 但这当然不能提供答案。文件通过ftp客户端发送,通过python解释器发送,但不通过脚本发送


编辑:它不会抛出任何异常,完成得很好,但当我查看上传的文件时,它会在最后被切断。如果我删除ftp部分并将文件导出到我的本地计算机,结果会很好。缩进只是我不擅长格式化。

您使用的是
storlines
而不是
storbinary

前者将执行行尾翻译

storbinary
ftplib代码在传输之前执行
TYPE I
,以确保传输模式设置为Image。(二进制)


还要检查以确保您正在传输的文件在传输开始之前已刷新或关闭。通过
write
调用写入的数据可能不会在ftp库打开文件时刷新到磁盘。

您是否尝试过手动将文件传输到服务器,以确保这是python的错误?是的,我的代码中肯定有什么内容。那么,是
storbinary
还是
storlines
?还有,什么是
a
,它与您的代码有什么关系?`对不起,我在发布扩展代码时尝试了具有相同效果的storlines,但忘记了更改它。outputname=(dirname+“.xml”)a=open(outputname,“w”)为什么不先关闭
a
,然后从中开始读取?