2

我有一个小的 python 脚本,它正在打印机器正在使用多少 CPU 使用率,我遇到了一个问题,在百分比发生变化后它不会更新,我将它置于无限 while 循环但它停留在记录的最后百分比,这是我的代码,任何帮助或建议都会很棒:

cpu_time = psutil.cpu_percent(interval=1,percpu=False)
var=1
while var==1:
    if cpu_time < 10:
        print "CPU usage: "+str(cpu_time)
    elif cpu_time <=25:
        print "CPU usage: "+str(cpu_time)

等等... 50%、75% 和 90%

4

3 回答 3

3

就像现在一样,cpu_time永远不会改变。您想更新cpu_time循环内部:

while True:
    cpu_time = psutil.cpu_percent(interval=1,percpu=False)
    if cpu_time < 10:
        print "CPU usage: "+str(cpu_time)
    elif cpu_time <=25:
        print "CPU usage: "+str(cpu_time)
于 2015-09-16T18:00:33.483 回答
1

您需要刷新cpu_time值:将其放入循环中

var=1
while var==1:
    cpu_time = psutil.cpu_percent(interval=1,percpu=False)

    if cpu_time < 10:
        print "CPU usage: "+str(cpu_time)
    elif cpu_time <=25:
        print "CPU usage: "+str(cpu_time)
于 2015-09-16T18:00:41.407 回答
1

您需要调用将 CPU 数据返回到循环中的函数,而不是外部:

while True:
    cpu_time = psutil.cpu_percent(interval=1,percpu=False)
    if cpu_time < 10:
        print "CPU usage: "+str(cpu_time)
    elif cpu_time <=25:
        print "CPU usage: "+str(cpu_time)

希望有帮助。

于 2015-09-16T18:02:25.000 回答