尝试在 paramiko 中使用 sftp 从 Windows 服务器下载一些文件。获取方法是:
def get(self, remotepath, localpath = None):
"""Copies a file between the remote host and the local host."""
if not localpath:
localpath = os.path.split(remotepath)[1]
self._sftp_connect()
self._sftp.get(remotepath, localpath)
运行脚本时
sshObj.get('C:\\my_file.txt', 'D:\\python\\')
,它抛出错误:
File "C:\Py34\lib\site-packages\paramiko\sftp_client.py", line 806, in _convert_status
raise IOError(errno.EACCES, text)`PermissionError: [Errno 13] **Permission denied**`
我已经授予该文件夹的所有权限。 还与其他用户分享了它。但错误仍然存在。如果有人以前遇到过这个问题,任何线索都会有所帮助。
注意:我安装了 freesshd 使我的 localbox 成为 ssh 服务器。
最佳答案
这与路径命名约定无关。
在本地路径中,你没有提到文件名,你只是提到了保存文件的目录。
采用:
sshObj.get('C:\\my_file.txt', 'D:\\python\\my_file.txt')
代替
sshObj.get('C:\\my_file.txt', 'D:\\python\\')
关于python paramiko 在使用 sftp 的 Windows 服务器上给出错误 "Permission denied [Errno 13]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28707008/