Вызов Python из файла Bat и получить код возврата

Я ищу способ вызова скрипта Python из командного файла и получения кода возврата из скрипта Python. Смущает, я знаю, но это основано на системе, которая используется в настоящее время. Я переписал бы это, но этот путь был бы намного, намного быстрее.

Так:

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

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

Ответы на вопрос(2)

Решение Вопроса

ERRORLEVEL переменная:

python somescript.py
echo %ERRORLEVEL%

В скрипте Python вы можете выйти из скрипта и установить возвращаемое значение, вызвавexit():

exit(15)

В старых версиях Python вам, возможно, придется сначала импортироватьexit() функция отsys модуль:

from sys import exit
exit(15)
 Kezzer18 июн. 2009 г., 17:36
Бинго! Ура :)
 10 окт. 2017 г., 10:12
@fmuecke Я не понимаю, что ты имеешь в виду. Я ловлю возврат от различных вызовов Python, используя% ERRORLEVEL%. Разные значения% ERRORLEVEL% из разных скриптов Python
 18 июн. 2009 г., 22:42
Errorlevel - это только псевдопеременная, фактически она нигде в среде.
 08 янв. 2010 г., 15:42
Это НЕ будет работать, если переменная% ERRORLEVEL% уже существует. Python не будет перезаписывать его в этом случае (но возвращает правильный код - он будет просто скрыт переменной!).

Пытаться:

import os
os._exit(ret_value)

Вы также должны проверить:

sys.exit()
 Kezzer18 июн. 2009 г., 17:37
И благодаря вам оба ваших ответа были верны, мне просто нужна была другая сторона из файла bat. Еще раз спасибо.

Ваш ответ на вопрос