我要做的是使用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
非常感谢能够帮助我找出原因的人。
答案 0 :(得分:0)
如错误所示,它会尝试从不存在的路径中检索文件。我建议使用os模块。
import os
os.getlogin()
这将返回当前用户。
答案 1 :(得分:-1)
由于我面临同样的问题,我想重新审理此案。 我可以复制A => B,但不能复制B => A。失败仅发生在python中,而bash中的scp可以在两个方向上正常工作。
编辑: scp.put() 解决了该问题