psutil.cpu_percent() показывает 0.0 как скрипт из командной строки, но работает как задумано интерпретатором

python -c импортировать psutil; печать (psutil.cpu_percent())

Выход: 0,0

python # мы сейчас в интерпретаторе

импортировать psutil

печать (psutil.cpu_percent())

выход: 12,7

что тут происходит? при запуске его вне интерпретатора я всегда получаю либо 0,0, либо 100,0, поэтому я предполагаю, что в этом случае он сообщает только процент использования процессора.

Но мне любопытно, почему и как один и тот же код не действует последовательно как скрипт, а не выполняется в интерпретаторе.

Здесь найдено «ожидаемое поведение» библиотеки: использование процессором скрипта python


person JackofSpades    schedule 24.05.2019    source источник
comment
попробуйте запустить его в цикле, чтобы получить более одного значения   -  person hek2mgl    schedule 24.05.2019
comment
Дайте процессу немного времени, чтобы обеспечить измеримое время выполнения: python -c "import psutil;print(psutil.cpu_percent(0.1))" и прочитайте красное предупреждение на странице psutil.readthedocs.io/en/latest/#psutil.Process.cpu_percent .   -  person Klaus D.    schedule 24.05.2019
comment
Добавление интервала - это именно то, что "исправляет" это. Хотя мне довольно любопытно, почему так происходит.   -  person JackofSpades    schedule 26.05.2019