가상 터미널을 실행하는 Python 프로그램을 작성 중입니다.어떻게 파이썬에서 터미널 출력을 실시간으로 읽습니까?
import pexpect, thread
def create_input(child, scrollers, textlength=80, height=12):
while 1:
newtext = child.readline()
print newtext
child = pexpect.spawn("bash", timeout=30000)
thread.start_new_thread(create_input,(child))
이 작동하고, 나는 child.send(command)
통해 명령을 보낼 수 있습니다 : 현재 내가 너무처럼 시작하고있다. 그러나 전체 출력 만 출력됩니다. 즉, 나노 또는 링크와 같은 것을 실행하면 프로세스가 완료 될 때까지 출력이 수신되지 않습니다. 엔터를 눌러야 입력 내용을 볼 수 있습니다. bash가 출력 할 때 개별 문자를 읽을 수있는 방법이 있습니까?
는 순간에 "라인 버퍼링"으로 나타나는 당신은 출력 "버퍼링"해야 할 것입니다. – chown
어떻게 할 수 있습니까? – Skyler