python对cpu要求高吗_用python获取电脑cpu的速度

1. CPU的速度

cpu的速度用时钟频率来衡量,它是1秒内发生的同步脉冲数,单位是Hz(赫兹),通常来说,频率越大,cpu的性能越强劲,以3个最常用的系统为目标,研究一下,如何用python来获取电脑的cpu频率。

2. 获取mac电脑cpu频率

cpu属于硬件,在终端上使用命令 system_profiler SPHardwareDataType ,可以获取电脑的硬件信息

Hardware:

Hardware Overview:

Model Name: MacBook Air

Model Identifier: MacBookAir7,2

Processor Name: Intel Core i5

Processor Speed: 1.6 GHz

Number of Processors: 1

Total Number of Cores: 2

L2 Cache (per Core): 256 KB

L3 Cache: 3 MB

Memory: 8 GB

Boot ROM Version: MBA71.0178.B00

SMC Version (system): 2.27f2

Serial Number (system): C1MR961GG943

Hardware UUID: C42A211A-EFD1-55C3-9EEF-A1F3A19A618C

Processor Speed: 1.6 GHz 就是cpu的频率信息, 可以使用subprocess.Popen方法在程序里执行命令然后获取输出内容,对内容进行分析,获取频率。

3. 获取linux系统电脑的cpu频率

linux系统下,cpu的信息都存储在文件 /proc/cpuinfo 中,使用cat /proc/cpuinfo 就可以直接观察

[root@sheng ~]# cat /proc/cpuinfo

processor: 0

vendor_id: GenuineIntel

cpu family: 6

model: 63

model name: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz

stepping: 2

microcode: 0x1

cpu MHz: 2494.224

cache size: 30720 KB

physical id: 0

siblings: 1

core id: 0

cpu cores: 1

cpu MHz 这一行就是我们要找的内容,由于信息存储在文件里,因此可以直接读取文件,来获取cpu 频率

4. 获取windows系统电脑cpu频率

windows系统电脑里,cpu的信息存储在注册表中,使用win+r 键组合,打开运行程序

输入regedit,点击确定按钮

python的标准库 winreg 可以用来操作注册表,只要知道路径,就可以准确获取cpu的频率

5. 识别操作系统

程序应当可以识别出不同的操作系统,并根据操作系统的不同来采用对应的方法获取cpu的速度,标准模块platform 可以获取平台的信息,platform.system() 可以获取操作系统的名称,下面是该方法在各个操作系统下执行时返回的名称mac 上返回 Darwin

linux 上返回 Linux

windows 上返回 Windows 或者 Win32

6. 全部代码

import platform

import subprocess

import fileinput

def get_mac_cpu_speed():

commond = 'system_profiler SPHardwareDataType | grep "Processor Speed" | cut -d ":" -f2'

proc = subprocess.Popen([commond], shell=True, stdout=subprocess.PIPE)

output = proc.communicate()[0]

output = output.decode() # bytes 转str

speed = output.lstrip().rstrip('\n')

return speed

def get_linux_cpu_speed():

for line in fileinput.input('/proc/cpuinfo'):

if 'MHz' in line:

value = line.split(':')[1].strip()

value = float(value)

speed = round(value / 1024, 1)

return "{speed}GHz".format(speed=speed)

def get_windows_cpu_speed():

import winreg

key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"HARDWARE\DESCRIPTION\System\CentralProcessor\0")

speed, type = winreg.QueryValueEx(key, "~MHz")

speed = round(float(speed)/1024, 1)

return "{speed}GHz".format(speed=speed)

def get_cpu_speed():

osname = platform.system() # 获取操作系统的名称

speed = ''

if osname == "Darwin":

speed = get_mac_cpu_speed()

if osname == "Linux":

speed = get_linux_cpu_speed()

if osname in ["Windows", "Win32"]:

speed = get_windows_cpu_speed()

return speed

print(get_cpu_speed())

扫一扫,关注公众号,更多有趣内容分享

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值