pyftp put将文件截断为4096位

时间:2015-04-30 15:57:23

标签: python linux sftp paramiko pysftp

我正在编写一个python脚本,通过sftp(使用pysftp)将cvs文件上传到远程主机。一切似乎都运行正常,但上传的文件总是被截断为4096字节。如果我使用sftp从os(linux)上传文件,一切正常。是否有默认值设置为仅允许4096个字节的文件?

这是我的代码的sftp部分:

def sftp_file():
try:
    s = sftp.Connection(host=dropbox, username='oemreport', private_key=private_key)
    s.put(report_file, export_file)
    s.close()

except Exception, e:
    print str(e)

1 个答案:

答案 0 :(得分:1)

如果“report_file”的文件描述符是打开的,它将不会上传完整的文件,因为它还没有完全写在磁盘上。

您应该先关闭文件描述符。

report_file.close()