在新终端上运行 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的主要内容,如果未能解决你的问题,请参考以下文章

python中执行另一个py文件

pycharm项目怎么清空运行命令

方法总结及易错点总结

[py] os.system os.popen commands 执行shell

pythonos.system() & os.popen() 在 python 执行 cmd 指令

用批处理文件bat 运行的py文件, 无法使用 os.system语句