【发布时间】:2014-02-05 18:35:21
【问题描述】:
我正在编写一个 Python 脚本,需要下载一个远程 xml 文件来解析它。
我正在使用 paramiko。
这是脚本:
def copyFile(ip, user, pwd, remotePath, localPath):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(ip,username=user,password=pwd)
### Copy remote file to server
sftp = ssh.open_sftp()
sftp.get(remotePath,localPath)
sftp.close()
ssh.close()
return ["OK",0,0]
except IOError as e:
flash(str(e)+" IOERROR")
return ["IOERROR: " + str(e),0,0]
except Exception as e:
flash(str(e)+" OTHER EXCEPTION")
return ["Error: " + str(e),0,0]
代码返回,IOError 表示文件不存在。
但是如果我将变量换成字符串,它就可以完美运行。:
`sftp.get("/etc/conf/file-cfg.xml","./conf/file-cfg.xml")`
变量被正确传递:
`copyFile(ip,username,pwd,"/etc/conf/"+i,"."+i)`
我浪费了很多时间试图找出问题所在,但没有成功。
我的远程机器:Ubuntu 13.10 x64 本地机器:Windows 7 x64
【问题讨论】:
标签: paramiko