gpt4 book ai didi

paramiko - sftp.get python paramiko [没有这样的文件]

转载 作者:行者123 更新时间:2023-12-02 21:57:59 26 4
gpt4 key购买 nike

我正在编写一个 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

最佳答案

我遇到了同样的问题,但后来发现有一个尾随\n 字符,这是看不见的。

所以我建议调用 strip() 方法来删​​除不可见的前导/尾随字符,这可能是有问题的字符

strip() 在我身边工作。

关于paramiko - sftp.get python paramiko [没有这样的文件],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21585624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com