python subprocess.check_ooutput завершает выполнение программы в середине. Как остановиться? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть фрагмент python3, который выглядит так:

def some_method(self) -> str:
    command = ['some', 'command', '|', 'another', 'command']
    result = ''
    try:
        result = subprocess.check_output(command,Shell=True).decode(encoding = 'ascii')
    except subprocess.CalledProcessError as e:
        result = e.output.decode(encoding = 'ascii')
    return result 

Каждый раз, когда я выполняю этот фрагмент, я не получаю ошибок, и выполнение, кажется, останавливается, как только интерпретатор достигает check_output вызов, код выхода 0.

Похоже, что в документации ничего не сказано о завершении выполнения check_output, просто это может вызвать ошибку. Как отладить эту проблему? и, в идеале, как это исправить, чтобы остановить самопроизвольный выход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...