Подпроцесс Python с / usr / bin / time: как получить информацию о времени, но игнорировать все остальные выходные данные?

Я пытаюсь измерить время выполнения в секундах исполняемой программы, вызываемой через подпроцесс. Я не хочу, чтобы вывод исполняемого файла (либо stderr, либо stdout) выдавался.

Я пробовал timeit и библиотеки ресурсов, но ни один из них точно не фиксирует время процесса, по-видимому, он только фиксирует время в рабочем потоке Python.

Эта попытка ниже потеряет временную информацию b / c перенаправления stderr. Однако без перенаправления stderr будет выведен вывод команды stderr 'f_cmd'.

def doWithTiming(f_cmd):
    DEVNULL = open(os.devnull, 'w')
    return subprocess.check_output([ "/usr/bin/time", "--format=%e seconds"] + f_cmd.split(), stderr=DEVNULL)

Как мне проигнорировать все выходные данные f_cmd, но сохранить выходные данные / usr / bin / time?

Ответы на вопрос(1)

Ваш ответ на вопрос