在python中,我们可以使用子进程调用任何进程。
我有一种情况,我必须使用交互式终端,我需要输出几个命令,使用python代码。
如何使用将打开交互式终端的子进程模块,我可以进一步绕过一些命令并让他们进一步解析它们?
我能够将子进程模块用于2个不同的命令,其中第2个依赖于第一个的输出,如
ps -aux | grep python
第一个ps -aux
可以传递给1个子进程obj,而obj将用作另一个子进程命令的stdin
,其中grep python
将被处理....
答案 0 :(得分:0)
你的问题不太清楚,所以我会回答我理解的部分
如何使用将打开交互式终端的子进程模块,我可以进一步绕过一些命令并让他们进一步解析它们?
我有一台ubuntu机器,这是我调用一个单独的终端并将命令传递给它们的方式
from subprocess import Popen,PIPE
command='who'
command ='"'+command+' '+';read -n1" '
#subitem = Popen(['gnome-terminal','--disable-factory','-x','bash','-c',command],stdin =PIPE)
subitem = Popen(['gnome-terminal','--disable-factory','-x','bash'],stdin =PIPE)
subitem.communicate(input='your command')
您可以根据您的要求使用stdin,stdout,沟通方法进一步玩这个