我试图创建一个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终端打开并在每个循环关闭。
答案 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。