Подпроцесс 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?