SFTP与Paramiko说我的本地路径是错误的和许可问题

时间:2017-10-06 12:51:07

标签: python python-3.x sftp paramiko

对于经验丰富的程序员来说,这应该是一个简单的程序员,但是我仍在学习,我正在努力学习。我创建了一个脚本来sftp到一个netscaler设备并将配置文件复制到我的本地计算机。我收到了localpath,路径错误和权限错误,即使我在管理模式下打开pycharm。任何见解和可能的链接,以了解更多关于python中的sftp客户端将不胜感激。我得到的错误是“打开(localpath,路径)和打开(localpath,'rb')作为f1:和(permissionError:[Errno 13]权限被拒绝:C :)。我将路径移动到C:因为IDE不会把路径带到我的文件夹。我也拿出了import sys,因为它说它不需要。谢谢。希望我能在本周末找到一本好书,能有我的答案。

import paramiko

host = "10.x.x.x"                    #hard-coded
port = 22
transport = paramiko.Transport(host, port)

username = "put username"                #hard-coded
password = "put password"                #hard-coded
transport.connect(username=username, password=password)

sftp = paramiko.SFTPClient.from_transport(transport)


path = "./root/flash/nsconfig/ns.conf"    #hard-coded
localpath = 'C:'
sftp.put(localpath, path)

sftp.close()
transport.close()

1 个答案:

答案 0 :(得分:1)

如果您要下载文件,则必须使用get,而不是put

您必须使用目标文件的完整路径,而不仅仅是目标文件夹的路径。

sftp.get("./root/flash/nsconfig/ns.conf", "C:\\ns.conf")

.前面的/root似乎也很可疑