我在python中编写了scirpt,它使用system.os("cmd")
执行bash命令。我不想在同一个终端上输出bash脚本,我有python脚本输出,所以我通过xterm -e
执行bash命令。我的代码与此类似:
# python
import os
os.system("xterm -e 'ls'")
此代码有效,但在ls
结束后,新终端消失。我想留下这个终端。
答案 0 :(得分:1)
您可以让窗口保持不变,直到用户使用read
按下某个键:
os.system("xterm -e 'ls; read'")
或者您只是运行xterm
的新终端,该终端一直运行直至关闭:
os.system("xterm")
注1 :os.system
函数似乎阻止了python脚本,直到外部进程(本例中为xterm)结束。因此,您可以在循环中使用它,其中每个bash窗口必须在打开新窗口之前关闭。
注意2 :python文档建议使用subprocess.call
答案 1 :(得分:0)
以下内容应该有效。我在一个Mint linux盒子上试过它。
import os
os.system("xterm -hold -e 'ls' &")
答案 2 :(得分:0)
它很好,但是:
import os
os.system("xterm -hold -e 'my_cmd_1' &")
os.system("xterm -hold -e 'my_cmd_2' &")
my_cmd_2无法在my_cmd_end_1
之前启动