如何使gnome-terminal命令在python

时间:2015-06-04 17:55:39

标签: python object gnome-terminal

我试图创建一个gnome-terminal窗口,之后我想在终端窗口(echo)写一些东西,就像在while循环中的缓冲屏幕一样。



import os

x = os.system("gnome-terminal -e")

while True:
    x.write("echo % s "%(buffering))
    if progress == 0:
        break




所以,我必须在while循环之前打开gnome-terminal窗口,因为如果我没有gnome终端打开并在每个循环关闭。

1 个答案:

答案 0 :(得分:0)

您可以使用命名管道:

import os,time

def client():
    try:
        os.mkfifo("named_pipe")
    except OSError as e:
        print(e.message)
    named_pipe = os.open("named_pipe", os.O_WRONLY)
    while True:
        time.sleep(1)
         os.write(named_pipe, 'Time {}\n'.format(time.asctime()))


def server():
    from subprocess import check_call
check_call(['gnome-terminal', '-e', "python script.py"])


pid = os.fork()
foo() if pid != 0 else bar()

在script.py中:

import os
with open('named_pipe') as f:
    for line in iter(f.readline, ""):
        print(line.rstrip())
    os.unlink("named_pipe")

您也可以使用unix域套接字或tcp。