无法使用 shareplum 和 paramiko 库从共享点传递下载的类似文件的对象

问题描述 投票:0回答:1

我在使用 paramiko 的 putfo() 传递文件对象时收到错误。

属性错误:“字节”对象没有属性“读取”

这是我的 putfo() 的样子

ssh_client = paramiko.SSHClient()

ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=host, port=port, username=username,password=password, look_for_keys=False)

ftp = ssh_client.open_sftp()

ftp.putfo(file_obj, remotepath=file_name)

file_obj
使用 shareplum 的 get_file() 下载到内存

我不知道我应该在这里尝试什么来解决这个问题。

python sftp paramiko shareplum
1个回答
0
投票

putfo
需要文件或类似文件的对象。错误消息表明您正在获取原始字节而不是文件 io(原始字节没有
read
方法,但文件 io 对象有)。

要解决这个问题,请使用

io.BytesIO

包装返回的字节
from io import BytesIO
ftp.putfo(BytesIO(file_obj), remotepath=file_name)
© www.soinside.com 2019 - 2024. All rights reserved.