如何使用Python在Windows上获取CPU序列号?

2024-09-30 20:33:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Windows10上用Python-3.6.2编写了一个程序。我想要CPU序列号。在

这是我的代码:

def getserial():
    # Extract serial from cpuinfo file
    cpuserial = "0000000000000000"
    try:
        f = open('/proc/cpuinfo','r')
        for line in f:
            if line[0:6]=='Serial':
                cpuserial = line[10:26]
        f.close()
    except:
        cpuserial = "ERROR000000000"
  return cpuserial

print(getserial())

当我运行程序时,它会打印:ERROR000000000。在

我怎么修?在


Tags: 代码from程序deflineserialextractcpu
1条回答
网友
1楼 · 发布于 2024-09-30 20:33:30

你的代码不会引发任何异常。因此,您不会看到错误:Windows上没有'/proc/cpuinfo'文件。在

我已经这样重写了你的代码:

def getserial():
    # Extract serial from cpuinfo file
    with open('/proc/cpuinfo','r') as f:
        for line in f:
            if line[0:6] == 'Serial':
                return line[10:26]
        return "0000000000000000"

首先,我有一个with语句来使用文件上下文管理器:无论是否引发异常,文件都将被关闭。在

我简化了循环:如果它找到一个“串行”条目,它将返回值。在

编辑

如果您的python版本为>;=2.6,您可以简单地使用

^{pr2}$

http://docs.python.org/library/multiprocessing.html#multiprocessing.cpu_count

编辑2

我发现获得“cpuinfo”的最佳解决方案是使用py-cpuinfo库。在

import cpuinfo
info = cpuinfo.get_cpu_info()
print(info)

但是,我认为“串行”输入不是标准的。我在经典系统上看不到。在

相关问题 更多 >