Мне нужно написать время, необходимое для запуска нескольких программ на C для нескольких файлов, используя:
time ./program filename
в электронную таблицу, и я использую subprocess.check_output
, чтобы получить stdout
в виде строки,Я должен получить что-то вроде:
real 0m0.001s
user 0m0.001s
sys 0m0.000s
, но я получаю:
b'0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata
1388maxresident)k\n0inputs+0outputs (0major+60minor)pagefaults
0swaps\n'
Я вижу пользовательское и системное время, но они обрезаются после двух десятичных знаков.Есть ли способ убедиться, что вывод читает все 3 десятичных знака?Вот мой код:
import xlwt
import subprocess
files = ('100KB.txt', '1MB.txt', '10MB.txt', '100MB.txt')
programs = ('./10kBuffer', './step2', './step3', './step4')
command = ['time', programs[0], files[0]]
out = subprocess.check_output(command, stderr=subprocess.STDOUT)
print(out)