在新终端上运行 os.system 命令 - Python 3
Posted
技术标签:
【中文标题】在新终端上运行 os.system 命令 - Python 3【英文标题】:run os.system commands on a new terminal- Python 3 【发布时间】:2018-10-24 22:48:27 【问题描述】:我正在运行一个程序,该程序允许我通过我的 Python 代码运行终端命令,该代码通过命令行从用户那里获取输入。这是我打开 Google-Chrome 的代码部分
import sys
import os
os.system("google-chrome") #I have Ubuntu 16.04
它会打开浏览器,但问题是运行我的 python 代码的终端与运行 Chrome 的终端相同,这意味着我无法为我的 Python 代码提供进一步的输入。为了解决这个问题,我需要 Chrome 作为一个进程在不同的终端上运行。我尝试使用subprocess.call("google-chrome", shell=True)
,但它没有在新终端上打开它。
如何让进程在不同的终端上运行?
【问题讨论】:
【参考方案1】:使用 subprocess.popen("command")
基本上,在后台运行子进程。 & 是一个外壳功能。改用 popen
【讨论】:
不,即使这样也没有用。它仍然在同一个终端中打开【参考方案2】:这能解决你的问题吗?
os.system('gnome-terminal -x chromium-browser')
【讨论】:
这个有效。它打开了一个新终端,然后启动了浏览器。谢谢以上是关于在新终端上运行 os.system 命令 - Python 3的主要内容,如果未能解决你的问题,请参考以下文章
[py] os.system os.popen commands 执行shell