我正在尝试使用paramiko通过SFTP下载文件。我像这样创建SFTP对象:
transport = paramiko.Transport((sftp_server, sftp_port))
transport.connect(username = sftp_login, password = sftp_password)
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.get("file_name", '.', None)
并且,我得到例外:
Exception python : Folder not found: \\$IP_ADDRESS\folder_1/folder_2\file_name.
我正在运行paramiko连接到客户端chrooted SFTP。文件'file_name'位于客户端chroot的根目录。
我会提供任何必要的信息。
答案 0 :(得分:6)
以下代码在Ubuntu 11.10中适用于我:
sftp.get("file_name", "file_name")
我做了一些不应该影响你的问题的改变:
localpath
:使用本地文件名的完整路径,而不仅仅是'.'
(不允许使用目录)callback
:删除了它,因为None
已经是默认值并且不是真的需要由于我没有得到关于remotepath
参数的相同错误,我猜你可能正在使用具有不同行为的不同sftp服务器。
我的建议是:
sftp
命令,您要查找的文件确实是您尝试获取的文件。sftp.chdir
只是为了确保使用的默认目录是您期望的目录。我希望这会有所帮助。