subprocess.check_output () для Python 2.7 - PullRequest
0 голосов
/ 12 июня 2019

У меня есть функция, написанная на python 3.7, которая использует функцию subprocess.check_output () для запуска команд. Мне нужно преобразовать функцию в Python 2.7 совместимый, сохраняя функциональность функции одинаковой. Я не уверен, какие будут новые параметры для аргументов в python 2.7 в функции check_output () на основе параметров, используемых в python 3.6. Я специально не знаю об эквиваленте sp.DEVNULL в Python 2.7. Я не смог многого понять из стандартного документа python (https://docs.python.org/3/library/subprocess.html#subprocess.DEVNULL).. Мне кажется, этот аргумент может быть важен, учитывая, что в комментарии над функцией check_output () упоминается, почему он используется.

def _run_command(command):
    try:
        # The stdin=sp.DEVNULL below is needed so that ffmpeg does not mess up
        # the terminal.
        sp.check_output(command, stdin=sp.DEVNULL, stderr=sp.PIPE)
    except sp.CalledProcessError as exc:
        msg = ("operations._run_command failed.\n"
               "Command was: {}.\n"
               "Standard error was: {}.\n"
               "Exit code was: {}").format(exc.cmd, exc.stderr.decode(),
                                           exc.returncode)
        logger.error(msg, extra=JOB_RUNNING)
        raise exc

Если кто-то может объяснить, что означают аргументы и их параметры в функции sp.check_output () и какова будет их подходящая замена в python 2.7.

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