gpt4 book ai didi

python - 使用 Paramiko 上传类似文件的对象?

转载 作者:太空狗 更新时间:2023-10-29 19:37:59 24 4
gpt4 key购买 nike

我有一堆看起来像这样的代码:

with tempfile.NamedTemporaryFile() as tmpfile:
tmpfile.write(fileobj.read()) # fileobj is some file-like object
tmpfile.flush()
try:
self.sftp.put(tmpfile.name, path)
except IOError:
# error handling removed for ease of reading
pass

是否可以像这样上传而不必将文件写到某处?

最佳答案

更新 从 Paramiko 1.10 开始,您可以使用 putfo :

self.sftp.putfo(fileobj, path)

除了使用 paramiko.SFTPClient.put,您还可以使用 paramiko.SFTPClient.open,它会打开一个类似文件的对象。你可以写信给那个。像这样:

f = self.sftp.open(path, 'wb')
f.write(fileobj.read())
f.close()

请注意,以 32 KiB block 的形式提供 paramiko 数据可能是值得的,因为这是底层 SSH 协议(protocol)可以处理的最大块,而无需将其分成多个数据包。

关于python - 使用 Paramiko 上传类似文件的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com