0
파이썬에서 하위 프로세스를 사용하여 바젤 응용 프로그램 텐서 흐름의 결과를 캡처합니다.파이썬 하위 프로세스 출력
import subprocess
cmd = ["bazel-bin/tensorflow/examples/label_image/label_image"]
pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
output = pipe.communicate()[0]
print "Result: ", output
문제는 결과가 터미널에 나타납니다 내가 반환 결과
그리고 변수 '출력'에서 캡처 할 수 없다는 것입니다 : (아무것도)
'stderr = subprocess.PIPE'와'output, err = pipe.communicate()'로 stderr를 캡쳐하고 err에 무엇이 있는지 살펴보십시오. – sberry
@sberry가 말하듯이 출력은'stderr'에 출력 될 것입니다 ... 또한'subprocess' 모듈을 사용할 때'popen'에'check_output' 래퍼를 사용할 수 있습니다 :'output = subprocess.check_output (cmd , stderr = subprocess.PIPE, shell = True)' –
여기서'shell = True'는 필요 없습니다. 명령은 목록에 있으며 하위 쉘을 실행하지 않고 실행할 수 있습니다. – tdelaney