【问题标题】:How to extract a particular attribute from instance of Win32_PnPEntity?如何从 Win32_PnPEntity 实例中提取特定属性?
【发布时间】:2015-11-25 07:46:53
【问题描述】:
def getPnpDeviceInfo():
    c = wmi.WMI()
    wql = "SELECT * FROM Win32_PnPEntity WHERE Manufacturer != 'Microsoft' AND NOT PNPDeviceID LIKE 'ROOT\\%'"
    print ("All physical PNP devices")
    for J in c.query(wql):
    print(J)

此函数(查询)通常返回所有物理 PNP 设备,这是一个输出示例:

instance of Win32_PnPEntity
{
Caption = "ACPI Lid";
ClassGuid = "{4d36e97d-e325-11ce-bfc1-08002be10318}";
ConfigManagerErrorCode = 0;
ConfigManagerUserConfig = FALSE;
CreationClassName = "Win32_PnPEntity";
Description = "ACPI Lid";
DeviceID = "ACPI\\PNP0C0D\\2&DABA3FF&3";
HardwareID = {"ACPI\\PNP0C0D", "*PNP0C0D"};
Manufacturer = "(Standard system devices)";
Name = "ACPI Lid";
PNPDeviceID = "ACPI\\PNP0C0D\\2&DABA3FF&3";
Status = "OK";
SystemCreationClassName = "Win32_ComputerSystem";
SystemName = "SUSDUTTA-LAP";
};

问题是,如果我只想提取实例的“PNPDeviceID”,如何在 python 中这样做,而不更改 WQL?

【问题讨论】:

    标签: python winapi wmi pywin32 wql


    【解决方案1】:

    没关系,在WMI python doc 中计算。 WQL 以列表的形式返回答案,并且有一个工厂方法“__getattr__(self,'attribute_name'_)”使用特定的属性名称返回数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      相关资源
      最近更新 更多