0
我在用下面的代碼無法訪問電源計劃:與WMI
import wmi
c = wmi.WMI()
for plan in c.Win32_PowerPlan():
print plan
它返回AttributeError: winmgmts:.Win32_PowerPlan
它應該返回機器上的所有電源計劃的情況。我錯了什麼?
我在用下面的代碼無法訪問電源計劃:與WMI
import wmi
c = wmi.WMI()
for plan in c.Win32_PowerPlan():
print plan
它返回AttributeError: winmgmts:.Win32_PowerPlan
它應該返回機器上的所有電源計劃的情況。我錯了什麼?
的這裏的問題是,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
我試着用搜索引擎這個'Win32_PowerPlan'方法所調用,但無法找到它。你遵循什麼文件?你可以使用'dir(c)'列出一個對象的可用方法,並通過'help(c)'獲得一些幫助,順便說一句。 – metakermit
它是[這個類](http://msdn.microsoft.com/en-us/library/dd904531(v = vs.85).aspx),被詢問[這裏] [http://timgolden.me。 uk/python/wmi/tutorial.html#querying)在'wmi'教程中。 –
是的,不幸的是我無法親自運行這個程序來幫助你,但是我會嘗試通過'wmi.WMI'實例(使用'dir'和'help')的可用方法來捕獲。 IPython通過它的自動完成和'wmi.WMI?'樣式[幫助功能](http://ipython.org/ipython-doc/dev/interactive/tutorial.html)可以幫助你很多。如果有幫助,在這個cookbok中提到了[power monitoring](http://timgolden.me.uk/python/wmi/cookbook.html#monitor-multiple-machines-for-power-events)。 – metakermit