如何在Python中查询CPU ID?

6 投票
3 回答
8752 浏览
提问于 2025-04-16 00:04

我该如何在Windows操作系统上用Python 2.6找到处理器的ID呢?

我知道有一个叫pycpuid的库,但我在Python 2.6下无法编译它。

3 个回答

0

看起来有两个项目是这个名字。你试过这两个吗?

3

我发现 wmic 这个命令在Windows XP上总是可以用的。我选择用 subprocess.Popen 来运行它,这样就不需要让我的用户去安装任何特别的Python包。

C:\>wmic cpu get ProcessorId /format:csv

Node,ProcessorId
E100325,BFEBFBFF00000F43
E100325,BFEBFBFF00000F43
6

你试过 wmi 吗?(可能需要更高的权限)

这里有一个解决方案(适用于 Python 2 和 3):

>>> import wmi
>>> c = wmi.WMI()
>>> for s in c.Win32_Processor():
    print (s)



instance of Win32_Processor
{
    AddressWidth = 64;
    Architecture = 9;
    Availability = 3;
    Caption = "Intel64 Family 6 Model 26 Stepping 5";
    CpuStatus = 1;
    CreationClassName = "Win32_Processor";
    CurrentClockSpeed = 3068;
    DataWidth = 64;
    Description = "Intel64 Family 6 Model 26 Stepping 5";
    DeviceID = "CPU0";
    ExtClock = 133;
    Family = 1;
    L2CacheSize = 1024;
    L3CacheSize = 8192;
    L3CacheSpeed = 0;
    Level = 6;
    LoadPercentage = 3;
    Manufacturer = "GenuineIntel";
    MaxClockSpeed = 3068;
    Name = "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz";
    NumberOfCores = 4;
    NumberOfLogicalProcessors = 8;
    PowerManagementSupported = FALSE;
    ProcessorId = "BFEBFBFF000106A5";
    ProcessorType = 3;
    Revision = 6661;
    Role = "CPU";
    SocketDesignation = "CPU 1";
    Status = "OK";
    StatusInfo = 3;
    SystemCreationClassName = "Win32_ComputerSystem";
    SystemName = "RYAN-PC";
    UpgradeMethod = 1;
    Version = "";
    VoltageCaps = 0;
};

撰写回答