2015-02-20 1 views
1

Мне нужно знать о оборудовании моей системы, как описано в BIOS, и использовать его в программе python. Поэтому я узнал об этом dmidecode python и установил его на своей машине. Но я не могу понять методы в нем. Например:Что такое методы/атрибуты в модуле dmidecode в python?

>>> dir(dmidecode) 
['TYPE', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__version__', '_get_output', '_parse_handle_section', '_show', 'parse_dmi', 'profile'] 

Теперь, когда я пытаюсь получить доступ к отдельным методам, она дает следующие ошибки:

>>> dmidecode._parse_handle_section() 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: _parse_handle_section() takes exactly 1 argument (0 given) 

>>> dmidecode._show() 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: _show() takes exactly 1 argument (0 given) 

>>> dmidecode.parse_dmi() 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: parse_dmi() takes exactly 1 argument (0 given) 

Теперь, реальная проблема заключается в том, что я не могу найти хороший учебник изучить и понять использование этих методов.

Так что любая помощь или ссылки будут оценены.

+0

Вы пытались вызвать 'help (dmidecode)' в интерпретаторе python? Большинство пакетов включают внутреннюю документацию. –

+0

Да. Это дает следующий результат: Помощь по модулю dmidecode: ИМЯ dmidecode FILE /usr/local/lib/python2.7/dist-packages/dmidecode.py ФУНКЦИИ parse_dmi (содержание) Разбор всего вывода dmidecode. Возвращает список кортежей (тип int, значение dict). профиль() ДАННЫЕ ТИП = {0: 'биоза', 1: 'система', 2: 'Основная плата', 3: 'шасси', 4: 'про ... __version__ =' 0,8. 1 ' ВЕРСИЯ 0,8.1 –

ответ

0

Вот некоторые варианты:

  • Вы можете использовать pydoc <module>, чтобы получить доступ к документации модуля от системной оболочки и pydoc <module>.<method> для доступа к конкретному методу строки документации.

  • Вы можете использовать help(<module>) для доступа к той же документации из оболочки Python и help(<module>.<method>) для метода docstring.

  • Вы можете использовать %pinfo <module> и %pinfo2 <module> для доступа к docstrings и считывания исходного кода из оболочки IPython, которая является альтернативой обычной оболочке, которую вы используете. Это также работает для методов.

Если нет никакой документации или строки документации бы то ни было, то единственный вариант, чтобы прочитать код с IPython и %pinfo2.

И совет: в Python, метод, который имеет _ предваряется обычно предназначается, чтобы быть частной, в то время как методы, начиная и заканчивая __ называются «магия» и «еще более частным», так говорить.

Вы всегда можете получить доступ ко всем, но с точки зрения вызова dir вы должны сосредоточиться на функциях parse_dmi и profile.

Смежные вопросы