打开终端运行命令python

use*_*631 3 python

我正在尝试打开终端并在其中运行命令.我在用

os.system("gnome-terminal -e 'bash -c \"exec bash; MY_COMMAND; exec bash\" '")
Run Code Online (Sandbox Code Playgroud)

这将打开一个新终端,但不执行该命令.

小智 6

开始了...

command="python3 --version"
os.system("gnome-terminal -e 'bash -c \""+command+";bash\"'")
Run Code Online (Sandbox Code Playgroud)

应该这样做...

Output:Python 3.6.4
Run Code Online (Sandbox Code Playgroud)

输出进入新终端......


Chr*_*oba 5

exec命令用新的命令替换当前正在运行的进程,因此如果要运行的命令列表中有一个exec,则只要运行exec,就不会运行任何其他命令.所以,你要更换'bash -c \"exec bash; MY_COMMAND; exec bash\" 'bash了之后,再没有什么exec bash正在运行.试试这个:

os.system("gnome-terminal -e 'bash -c \"MY_COMMAND\" '")
Run Code Online (Sandbox Code Playgroud)

或者如果你需要一个终端保持开放,试试这个:

os.system("gnome-terminal -e 'bash -c \"MY_COMMAND; sleep 1000000\" '")
Run Code Online (Sandbox Code Playgroud)

如果您希望终端保持打开并处于bash shell中,请尝试以下操作:

os.system("gnome-terminal -e 'bash -c \"MY_COMMAND; bash\" '")
Run Code Online (Sandbox Code Playgroud)