sftp从windows到unix与Python

时间:2012-02-21 02:03:10

标签: python sftp paramiko

我正试图将Windows笔记本电脑中的文件转移到Unix机箱(Juniper路由器)。

我写了一个小脚本,但它说我的远程路径错了。我知道我可能需要添加一些花哨的东西,所以Windows可以翻译nix目录,但我无法在Google上找到它:(

这是脚本:

import paramiko
host = "192.168.1.87"
port = 22
transport = paramiko.Transport((host, port)) 
password = "juniper123"
username = "root"
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)
filepath = '/balls/test.txt'
localpath = 'C:\Users\python1\test.txt'
sftp.put(filepath, localpath)
sftp.close()
transport.close()

我收到错误:

  

WindowsError:[错误3]系统找不到指定的路径:'/ balls /test.txt'

2 个答案:

答案 0 :(得分:5)

sftp.put(filepath, localpath)

我相信你已经交换了本地和远程路径。尝试:

sftp.put(localpath, filepath)

有关详细信息,请参阅the API

答案 1 :(得分:1)

如果远程主机上的根目录中没有名为balls的目录,则可能会出现问题。