비슷한 질문이 여기에 게시되었지만 코드를 작동시킬 수 없다는 것을 알고 있습니다. 하나의 파이썬 프로그램 출력을 다른 입력으로 파이프하려고합니다. 입력을 기다리고 하나는 raw_input을했다 ('>')파이프 라이닝 두 개의 파이썬 프로그램
내가 실행하는 데 노력하고있어 코드는 다음과 같습니다
import subprocess
gen = subprocess.Popen(['python', 'first.py'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
start = subprocess.Popen(['python','second.py'], stdin=gen.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
start.communicate()
first.py : 출력은 '아무튼
try:
while(1):
print gen()
time.sleep(1)
except KeyboardInterrupt:
sys.exit(1)
아무것도 생산하지 않는다
어떤 조언?
이것은 동작을 설명합니다. http://bugs.python.org/issue1191964 fist.py 프로그램을 변경하여 매번 하나의 값만 반환하고 매번 호출하는 second.py 만 변경하려고합니다. 하위 주문으로 처리 할 수 있습니까? – gizmo
올바른 입력을 제공하는 해킹을 수행했지만 이것이 문제를 해결하는 좋은 방법인지 확실하지 않은 경우 http://pastebin.com/PwUtNpxa 및 t3.py : http://pastebin.com/K3JdYa13 – gizmo
올바른 입력을 제공하는 해킹을 수행했지만 이것이 문제를 해결하는 좋은 방법인지 확실하지 않은 경우 http://pastebin.com/PwUtNpxa 및 t3.py : http://pastebin.com/K3JdYa13 동안 (1) : 단어 = raw_input을 ('>') 결과 = 맞춤법 검사기 (워드) 결과의 경우 : 다른 인쇄 결과 유일한 문제는 추가 한 >> – gizmo