拆分结果在 Python 中用于 CPU 使用率



一直在尝试让它工作几个小时。 我尝试的任何事情都没有拆分此文本。 我只想要这个当前的CPU

>>> from __future__ import print_function
>>> from urllib.request import urlopen
>>> import json
>>> import subprocess
>>> import requests
>>> import random
>>> import sys
>>> import os
>>> import time
>>> import datetime
>>> import MySQLdb as my
>>> import psutil
>>> os.popen('vcgencmd measure_temp').readline()
"temp=52.0'Cn"
>>> cpu = psutil.cpu_freq()
>>> cpu = cpu.split('current=')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'scpufreq' object has no attribute 'split'
>>> psutil.cpu_freq()
scpufreq(current=600.0, min=600.0, max=1500.0)
>>> psutil.cpu_freq(percpu=True)
[scpufreq(current=600.0, min=600.0, max=1500.0)]
>>> cpu = psutil.cpu_freq(percpu=True)
>>> cpu.split('=')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'split'
>>> AttributeError: 'list' object has no attribute 'split'
File "<stdin>", line 1
AttributeError: 'list' object has no attribute 'split'
^
SyntaxError: invalid syntax
>>> AttributeError: 'list' object has no attribute 'split'
File "<stdin>", line 1
AttributeError: 'list' object has no attribute 'split'
^
SyntaxError: invalid syntax
>>> psutil.cpu_freq(percpu=True).readline()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'readline'
>>> cpu = psutil.cpu_freq()

我哪里出错了?

OS:拉斯比安·巴斯特 Python: python3 画中点: 点3

看起来您忽略了错误消息:

>>> cpu = psutil.cpu_freq()
>>> cpu = cpu.split('current=')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'scpufreq' object has no attribute 'split'

psutil.cpu_freq()的返回值不是字符串,因此它没有split方法。如果您只是打印值...

>>> cpu
scpufreq(current=700.0, min=700.0, max=800.0)

。您可以了解它具有哪些属性,实际上,我们可以像这样访问这些值:

>>> cpu.current
700.0
>>> cpu.max
800.0

当您设置percpu=True时,您将获得一个列表:

>>> psutil.cpu_freq(percpu=True)
[scpufreq(current=600.0, min=600.0, max=1500.0)]

再一次,list不是字符串,所以没有split方法。由于只有一个 CPU,因此您可以返回一个 1 项列表,因此您可以访问如下值:

>>> cpu = psutil.cpu_freq(percpu=True)
>>> cpu[0].current
700.0

最新更新