我想使用SCP / SFTP将本地计算机上的文本文件复制到远程服务器上。我已经在源和目的地之间建立了一个SSH通道。
sftp.put('sourcepath, destinationpath')
上面的命令会出错:
TypeError:put()至少需要3个参数(给定2个)
答案 0 :(得分:1)
这是关于Python的问题,而不是Paramiko。
您具有传递参数错误的语法。
put
方法定义为
def put(self, localpath, remotepath, callback=None, confirm=True):
电话应该是:
sftp.put('sourcepath', 'destinationpath')
使用您的语法,您将在字符串 value 中使用逗号传递一个字符串参数(到localpath
)。
Python错误消息有点令人困惑,因为它甚至会计算隐式self
参数。因此,您为2个参数提供了值self
(隐式地由sftp.
生成)和localpath
(由'sourcepath, destinationpath'
显式提供)。您缺少第3个必需参数remotepath
。其他参数是可选的。