Как проверить, успешно ли запущен файл с Popen? - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь создать скрипт, который определяет, был ли исполняемый файл, запущенный с использованием Popen, успешно запущен или нет (возможно, если он был заблокирован антивирусом или сама программа не работает). Может быть, проверив, является ли файл памятью или нет? Я не совсем уверен, каков наилучший способ обнаружения файла в этом случае, и если у вас есть более подходящее предложение, то, конечно, не стесняйтесь поделиться им.

Это мой код:

for file in glob.glob('*.exe'):
    try:
        subprocess.Popen(file)
    except Exception:
        print('okay')

Я пытаюсь выяснить, что вставить в последнюю часть «кроме», чтобы заставить эту работу работать так, как я хочу.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Исключения используются для поддержания работы программы, даже если произошла ошибка.

for file in glob.glob('*.exe'):
    try:
        subprocess.Popen(file)
    except Exception as e:
        print(file,' did not run properly.')
        print(e)
        continue

Это предупредит пользователя о том, что * .exe не работает должным образом, пока ваш код работает.

0 голосов
/ 05 сентября 2018

По сути, Try будет всегда выполняться в цикле, а Except - только в случае возникновения исключения. Теперь, когда нам нужно увидеть результат, мы можем напечатать исключение

except Exception as e:
        print(e)

Использование continue позволит вам выполнить оставшуюся часть цикла. Это выглядело бы так: (плохие методы кодирования впереди)

except Exception as e:
        print(e)
        continue;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...