Кажется, я не получаю правильный код выхода из subprocess.call в Windows.
import subprocess
exit_code = subprocess.call(['ant.bat', 'fail'])
print exit_code # prints 0
Выполнение того же самого в Windows, похоже, возвращает что-то отличное от 0
> echo %errorlevel%
0
> ant fail
> echo %errorlevel%
1
Разве значения из обоих вызовов не должны давать одно и то же значение? Я что-то делаю не так?
Как в худшем случае проверить значение% errorlevel% в моем скрипте Python?
ОБНОВЛЕНИЕ:
Я пробовал что-то вроде этого, чтобы получить значение errorlevel:
environment = os.environment.copy()
cmd = subprocess.Popen(['ant.bat', 'fail'], env = environment)
for key, value in environment.items():
print '%s = %s' % (key, value)
Однако я не вижу errorlevel в этом словаре (os.getenv ['errorlevel'] также не работает).