2017-12-03 11 views
0

터미널을 사용하여 실행할 수있는 파이썬 스크립트가 있습니다. 그러나 계속 진행하기 전에 끝날 때까지 기다려야합니다 (두 개의 텍스트 파일 출력). 구현 :터미널 명령이 파이썬에서 완료 될 때까지 기다림

command=['python','segment.py','audio.wav','trans.txt','out1.txt','out2.txt'] 
cmd=subprocess.Popen(command).wait() 

out1.txt 및 out2.txt는 거의 immideat 생성하지만 비어 있습니다. 터미널에서 명령을 실행하면 올바른 out1.txt와 out2.txt (몇 분 후)가 표시됩니다. 다른 운영 명령을 사용해야합니까?

답변

0

사용은 통신 :

cmd = subprocess.Popen(command) 
cmd.communicate() 
# Code to be run after execution finished 
0

os.system를 사용해보십시오. 명령이 완료 될 때까지 대기하고 성공적으로 실행되면 종료 상태 0을 리턴합니다. 다른 종료 상태의 의미를 얻으려면 os.strerror(exit_status)을 사용하십시오.

자세한 내용은 https://docs.python.org/3.5/library/os.html#os.systemhttps://docs.python.org/3.5/library/os.html#os.strerror을 참조하십시오.

예 :

os.system('python segment.py audio.wav trans.txt out1.txt out2.txt') 
>>> 0 

os.system의 인수 유형 str이어야 있습니다.