2010-07-28 5 views
1

나는 다음과 같은 명령을 호출하는 파이썬 스크립트가 있습니다파이썬 스크립트 확인 호출 및 기타 유틸리티

# make 

을 한 후, 또한 세 개의 다른 프로그램을 호출합니다. make 명령이 성공했는지 여부를 알려주는 표준 방법이 있습니까? 지금 make가 성공하거나 실패 할 경우 프로그램은 계속 실행됩니다. make가 불가능하다는 오류를 제기하고 싶습니다.

누구나 나에게이 방향을 알려줄 수 있습니까?

답변

2

poll()wait() 메서드의 반환 값은 프로세스의 반환 코드입니다. 0이 아닌지 확인하십시오.

+0

poll()이고 wait()를 python으로 빌드하거나 make합니까? –

+1

'poll'과'wait'는'subprocess.Popen' 객체가 이해하는 메소드입니다. 자세한 내용은 Ignacio의 대답 링크를 클릭하십시오. – unutbu

+0

팁 주셔서 감사! 그것이 링크 였음을 깨닫지도 못했습니다! –

0

make의 종료 코드를 확인하십시오. 파이썬 모듈 commands을 사용하고 있다면 쉽게 상태 코드를 얻을 수 있습니다. 0은 성공을 의미하고, 0은 문제를 의미합니다.

+0

고마워요! 나는 그것을 들여다 볼게 –

0
import os 
if os.system("make"): 
    print "True" 
else: 
    print "False" 
+0

죄송합니다. 나는 이것이 효과가 있다고 생각하지 않는다. 방금 존재하지 않는 더미 프로그램을 호출하여 테스트를 마쳤습니다. false 문으로 결코 넘어 가지 않습니다. –

+0

이 스크립트는 make가 오류를 반환하면 True를 인쇄하고 정상적으로 종료하면 false를 인쇄합니다. –

0

subprocess.check_call()을 사용하십시오. 그렇게하면 반환 코드를 직접 확인할 필요가 없습니다. 반환 코드가 0이 아니면 예외가 throw됩니다.

관련 문제