Call Python From Bat File And Get Return Code


Question

I'm looking for a way to call a python script from a batch file and getting a return code from the python script. Confusing I know, but it's based on a system that's currently in use. I'd re-write it, but this way would be much, much quicker.

So:

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

Bat <--------------------------------- Python
      * python does a load of work *
      * and returns a return code  *
1
13
6/18/2009 3:11:43 PM

Accepted Answer

The windows shell saves the return code in the ERRORLEVEL variable:

python somescript.py
echo %ERRORLEVEL%

In the python script you can exit the script and set the return value by calling exit():

exit(15)

In older versions of python you might first have to import the exit() function from the sys module:

from sys import exit
exit(15)
19
6/18/2009 3:22:54 PM

Try:

import os
os._exit(ret_value)

You should also check:


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon