如何在Python中查询CPU ID?
我该如何在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;
};