У меня есть функция, написанная на 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.