1
스크립트 중 하나가 다른 스크립트를 실행하고 그것을 실시간으로 수신하려고 할 때 두 개의 스크립트를 만들었습니다.아직 살아있는 동안 아이의 표준 출력에서 읽는 방법
출력을 얻기 위해 시도하는 스크립트 :
import subprocess
p = subprocess.Popen("python .\\print.py", stdout=subprocess.PIPE)
print p.stdout.readline()
두 번째 스크립트 :
import time
print "1se12d12d32d3223"
print "\r"
time.sleep(10000)
문제는 자식 프로세스가 죽었을 경우에만 나는 심지어 라인이 있지만, 출력을 얻을 수 있다는 것입니다 stdout에 이미 쓰여졌습니다.
나는 다음과 같은 시도 : 사용 진정한는 popen 인수- 및 BUFSIZE = 1 Popen 인수로
- stdout.read(), stdout.readlines(), stdout.read (1) 등 사용 ...
- fcntl 모듈을 사용하여 파이프를 "차단하지 않음"으로 설정할 수 없습니다. 내가 윈도우를 사용하기 때문에
내가하고있는 모든 작업은 프로세스가 아직 살아있는 동안 하위 프로세스의 stdout 첫 줄에서 읽습니다. 파이썬으로 어떻게 할 수 있습니까?