对于我正在从事的项目,我想将一系列命令自动化到一个单独的终端窗口,以便我可以控制使用该终端的其他程序,或者仅运行常规Linux命令。
到目前为止,我已经尝试使用子过程来使用打开一个新的终端窗口
proc = subprocess.Popen('gnome-terminal')
我还能够打开程序,例如nano。
proc = subprocess.Popen(['gnome-terminal', '--command=nano'])
但是我不能再向终端发送更多命令,这意味着我可以以用户身份对其进行控制,但是我无法自动化它对python的作用。我尝试使用子进程和管道发送更多命令,但这没有用。我也研究了os.system(),但似乎找不到解决方法。
举个简单的例子
1)Python打开一个新终端
2)发送“回声这是一个测试”
3)发送“ ping -c 10 192.168.x.x >> pingout.txt”
4)在终端“ nano pingout.txt”中
5)写下“这是一个测试”
6)然后按“ ^ X”,“ y”并返回以保存编辑的文件
然后python程序将继续运行。