对于经验丰富的程序员来说,这应该是一个简单的程序员,但是我仍在学习,我正在努力学习。我创建了一个脚本来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()
答案 0 :(得分:1)
如果您要下载文件,则必须使用get
,而不是put
。
您必须使用目标文件的完整路径,而不仅仅是目标文件夹的路径。
sftp.get("./root/flash/nsconfig/ns.conf", "C:\\ns.conf")
(.
前面的/root
似乎也很可疑