2009-06-18 2 views
12

배치 파일에서 파이썬 스크립트를 호출하고 파이썬 스크립트에서 리턴 코드를 얻는 방법을 찾고 있습니다. 혼란 스럽지만, 현재 사용중인 시스템을 기반으로합니다. 나는 그것을 다시 쓰겠지만,이 방법은 훨씬 더 빠를 것이다.Bat 파일에서 파이썬 호출 및 리턴 코드 받기

그래서 :

python somescript.py 
echo %ERRORLEVEL% 

스크립트를 종료하고 exit()를 호출하여 반환 값을 설정할 수 있습니다 파이썬 스크립트에서 :

Bat ---------------------> Python 
    * call python file * 

Bat <--------------------------------- Python 
     * python does a load of work * 
     * and returns a return code * 

답변

18

Windows 셸은 ERRORLEVEL 변수에 리턴 코드를 저장합니다

exit(15) 

이전 버전의 python에서는 migh t 먼저 sys 모듈에서 exit() 기능을 가져올 수 있습니다

from sys import exit 
exit(15) 
+0

빙고! 건배 :) – Kezzer

+0

Errorlevel은 의사 변수 일 뿐이며 실제로 환경에서는 그렇지 않습니다. – Joey

+2

% ERRORLEVEL % 변수가 이미 존재하면이 옵션은 작동하지 않습니다. 이 경우 파이썬은 그것을 덮어 쓰지 않을 것입니다 (그러나 올바른 코드를 반환합니다 - 변수에 의해 숨겨집니다!). – fmuecke

3

시도 :

import os 
os._exit(ret_value) 

또한 확인해야합니다 :

+0

감사합니다. 둘 다 답이 맞았습니다. 방금 bat 파일에서 다른면이 필요했습니다. 다시 한번 감사드립니다. – Kezzer

관련 문제