我正在编写一个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)
答案 0 :(得分:1)
如果“report_file”的文件描述符是打开的,它将不会上传完整的文件,因为它还没有完全写在磁盘上。
您应该先关闭文件描述符。
report_file.close()