Получение уровня ошибки bat-файла при его запуске из Python - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть файл .bat, который вызывает разные вещи и запускает разные сценарии для компиляции и построения системы, разработанной другими программистами. Я пытаюсь вызвать этот файл .bat из Python с помощью Qprocess. Файл летучей мыши работает гладко. Однако, если файл bat по какой-то причине дает сбой, мой сценарий python должен быть каким-то образом завершен.

У меня было короткое обсуждение с некоторыми парнями, которые написали этот огромный файл .bat, и они сказали мне, что .bat файл имеет стандартную структуру и возвращает уровни ошибок, если что-то не получается.

Я действительно не знаю, как поймать эти уровни, и я не так много знаю о пакетном программировании. Уровень ошибок является чем-то универсальным? Можно ли его поймать с Python?

Я немного погуглил и нашел несколько очень старых статей, которые меня мало чему научили. У кого-нибудь есть короткий пример того, как поймать эти уровни?

1 Ответ

0 голосов
/ 13 апреля 2020

Уровень ошибки в контексте пакетного файла означает, что он завершится с определенным кодом. Вы можете запросить этот код завершения, как только процесс завершится.

def properties(self):
    self.process=QProcess()
    self.process.finished.connect(self.onFinished)
    self.process.start('test.bat', ['arg'])

def onFinished(self,  exitCode,  exitStatus):
    [check exit code here...]
...