在 Raspberry Pi 上获取 CPU 加载到 python 不起作用

Get CPU load in python on Raspberry Pi doesn't work

我已经在 google 上搜索了在 RPi3 上获取 CPU 负载的代码。我找到这段代码:

import os

def getCPUuse():
    return str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print }'").readline().strip())

对我来说它只是 returns 一个空字符串。

这段代码的问题在哪里?

编辑:

我这样称呼它:

while True:
    time.sleep(0.2)
    use = getCPUuse()
    print(use)

取消 strip() 并只做 readline。那对我有用。

您可以使用 gpiozero 模块 - 它预装了 Raspberry Pi OS。 所以你可以使用这段代码,它也更容易阅读(在我看来):

from gpiozero import LoadAverage

print(str(int(LoadAverage(minutes=1).load_average*100))+"%")

编辑: 这 link 可能会有所帮助: https://gpiozero.readthedocs.io/en/stable/api_internal.html#loadaverage