如何在paramiko中调用函数

时间:2014-06-26 07:12:35

标签: python paramiko

使用sramp和paramiko将整个文件夹传输到服务器。我从stackoverflow

复制此代码

但我怀疑是如何调用该函数,我这样说..

sftp = paramiko.SFTPClient.from_transport(t)
M = MySFTPClient()
M.put_dir()
M.mkdir()

但它抛出了这个错误:

*** Caught exception: <type 'exceptions.TypeError'>: __init__() takes exactly 2 arguments (1 given)

2 个答案:

答案 0 :(得分:1)

我没有使用过Paramiko,但是阅读源代码似乎已经可以使用from_transport方法返回的sftp对象了。因此无需创建另一个MySFTPClient()

在Python控制台中尝试阅读帮助(paramiko.SFTPClient)和帮助(paramiko.SFTPClient.from_transport)。另外浏览sftp.py似乎很有用,因为可用命令列表在开头(put_dir似乎不是其中之一)。

答案 1 :(得分:1)

错误消息表明您正在调用的函数在发送零时带有两个参数。尝试做这样的事情:

t = paramiko.Transport(("ftpexample.com", 22))
t.connect(username = myusername, password = mypassword)

sftp = paramiko.SFTPClient.from_transport(t)

使用sftp客户端将您的文件在localpath(例如/usr/tmp/test.png")上传到您的远程路径:

sftp.put("localpath","remotepath")