我正在编写一个 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)
最佳答案
如果“report_file”的文件描述符是打开的,它不会上传完整的文件,因为它还没有完全写入磁盘。
您应该先关闭文件描述符。
report_file.close()
关于python - pyftp put 将文件截断为 4096 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29972455/