Я пытаюсь получить имя класса win32 win32. Но атрибут __name__
для него не определен.__name__ атрибут в Python для Win32_ComputerSystem?
>> import wmi
>> machine = wmi.WMI()
>> machine.Win32_ComputerSystem.__name__
Я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
machine.Win32_ComputerSystem.__name__
File "C:\Python27\lib\site-packages\wmi.py", line 796, in __getattr__
return _wmi_object.__getattr__ (self, attribute)
File "C:\Python27\lib\site-packages\wmi.py", line 561, in __getattr__
return getattr (self.ole_object, attribute)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 457, in __getattr__
raise AttributeError(attr)
AttributeError: __name__
Я думал, что атрибут __name__
является defined for all Python functions, так что я не знаю, что проблема здесь. Как возможно, что эта функция не имеет этого атрибута?
ОК, причина, по которой я думал, что это метод, определяется тем, что определяется machine.Win32_ComputerSystem(), но я думаю, этого недостаточно для того, чтобы что-то было методом. Я понимаю, что это не метод.
Однако, это не работает:
>> machine.Win32_ComputerSystem.__class__.__name__
'_wmi_class'
Я хочу, чтобы вернуться 'Win32_ComputerSystem'. Как я могу это сделать?
Да, это не функция, это экземпляр класса старого стиля. – kindall
Это просто возвращает общий «_wmi_class» –