Python Paramiko scp.get()错误

时间:2015-12-24 06:37:43

标签: python ssh scp paramiko

我要做的是使用this模块与paramiko进行scp。我已成功ssh' d并使用put()方法将文件 scp到远程位置。当我尝试使用get()方法从该位置scp文件时出现问题。它给了我这个错误:

scp.SCPException: scp: user@flibbertygibbit.com:/home/username/myfile: No such file or directory

问题是的路径存在。

以下是相关的代码:

def download(file):
    scp = SCPClient(ssh.get_transport())
    scp.get('/home/{0}/{1}'.format(user.get(),file), 'C:\\Users\\Me\\Desktop')`

user.get()引用包含我的用户名的tkinter StringVar,file是该文件的名称。

Here是整个代码,减去个人详细信息,以防万一。

ls -ld /home/username/myfile的输出:

-rw-rw-r-- 1 username username 145 Dec 1 13:50 /home/username/job.alf

scp user@flibbertygibbit.com:/home/username/myfile .的输出:

C:\Users\Me>scp user@flibbertygibbit.com:/home/username/myfile .
Password:
myfile                                       100%  145     0.1KB/s   00:00

非常感谢能够帮助我找出原因的人。

2 个答案:

答案 0 :(得分:0)

如错误所示,它会尝试从不存在的路径中检索文件。我建议使用os模块。

import os
os.getlogin()

这将返回当前用户。

答案 1 :(得分:-1)

由于我面临同样的问题,我想重新审理此案。 我可以复制A => B,但不能复制B => A。失败仅发生在python中,而bash中的scp可以在两个方向上正常工作。

编辑: scp.put() 解决了该问题