【问题标题】:Execute a python script using Popen with shell=False使用带有 shell=False 的 Popen 执行 python 脚本
【发布时间】:2016-06-10 15:50:56
【问题描述】:

我想知道是否可以执行这个命令

cmd = "gnome-terminal -e 'python /path/to/file.py'"

p = subprocess.Popen(cmd,shell=True)

但使用 shell=False

我试图运行这个命令

p = subprocess.Popen(["gnome-terminal","-e","python","/path/to/file.py"],shell = False)

但它不起作用:

谢谢!

【问题讨论】:

  • 它只会打开python,但不会执行python脚本(file.py)@RahulKP
  • 你是否试图从另一个 python 文件执行 python 文件?
  • 没有python脚本! @RahulKP
  • 为什么投反对票?
  • @RahulKP:它不起作用:了解-e-x 选项之间的区别。

标签: python shell subprocess popen gnome


【解决方案1】:

因为您将命令传递给gnome-terminal,而不是python

p = subprocess.Popen(["gnome-terminal","-e","python /path/to/file.py"],shell = False)

【讨论】:

  • 不知道为什么我没有尝试这个,但谢谢! :)
  • @Eliekhalifeh:如果您想将单独的命令行参数作为命令传递,请在代码中使用 -x 而不是 -e
  • @J.F.Sebastian 它使用上述答案有效,但谢谢,我会记住这一点!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-25
  • 2021-04-02
相关资源
最近更新 更多