【问题标题】:Python can't execute program even if I'm using absolute paths即使我使用绝对路径,Python 也无法执行程序
【发布时间】:2012-02-17 20:37:12
【问题描述】:

我正在使用 Python 的 subprocess 模块运行命令 /usr/bin/ssh 192.168.0.109。但是,即使我使用的是绝对路径,我也会收到“找不到文件”错误。

OSError: Cannot run program "/usr/bin/ssh 192.168.0.109" (in directory "/home/max/repo/vssh/vssh"): java.io.IOException: error=2, No such file or directory

我正在我的主目录中工作,但这应该很重要,因为我给出了完整的路径,对吗?

这里是错误发生的地方:

current_session = Popen(["/usr/bin/ssh " + x.address], stdin=PIPE, stdout=PIPE)

(哦,/usr/bin/ssh 确实存在)

【问题讨论】:

    标签: python ssh absolute-path subprocess


    【解决方案1】:

    您应该将字符串列表传递给 Popen,而不是 shell 命令行。

    current_session = Popen(["/usr/bin/ssh", x.address], stdin=PIPE, stdout=PIPE)
    

    这样应该会更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-08
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-06
      • 2018-10-14
      相关资源
      最近更新 更多