【问题标题】:Accessing power plans with WMI使用 WMI 访问电源计划
【发布时间】:2014-02-09 04:19:12
【问题描述】:

以下代码有问题:

import wmi
c = wmi.WMI()
for plan in c.Win32_PowerPlan():
    print plan

它返回AttributeError: winmgmts:.Win32_PowerPlan,它应该返回机器上的所有电源计划实例。我哪里错了?

【问题讨论】:

  • 我尝试用谷歌搜索您正在调用的 Win32_PowerPlan 方法,但找不到它。你在关注什么文件?您可以使用dir(c) 列出对象上的可用方法,并通过help(c) 获得一些帮助,顺便说一句。
  • 它是this class,按照wmi 教程中here 的说明进行审讯。
  • 是的,很遗憾,我无法亲自运行此程序来帮助您,但我会尝试通过您的wmi.WMI 实例上的可用方法(使用dirhelp)钓鱼。 IPython 可以通过它的自动完成和wmi.WMI? 风格help functions 为您提供很多帮助。如果有帮助,在这本食谱中提到了 power monitoring
  • 谢谢,我会继续挖掘的。

标签: python wmi


【解决方案1】:

这里的问题是Win32_PowerPlan 类不是\root\CIMV2 命名空间中的直接Win32 类,这就是为什么它不在文档中的Win32 classes 列表中。

它实际上位于\\.\root\CIMV2\power 命名空间中,可以通过向下滚动到Win32_PowerPlan 底部的表格找到class documentation

访问它所需的代码使用WMI() 类的moniker 参数,如下所示:

c = wmi.WMI(moniker = "//./root/cimv2/power")
for plan in c.Win32_PowerPlan():
    print plan

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多