Как я могу (pythonically) проверить, является ли параметр модулем Python? Нет такого типа, как модуль или пакет.
>>> os
<module 'os' from '/usr/lib/python2.6/os.pyc'>
>>> isinstance(os, module)
Traceback (most recent call last):
File "/usr/lib/gedit-2/plugins/pythonconsole/console.py", line 290, in __run
r = eval(command, self.namespace, self.namespace)
File "<string>", line 1, in <module>
NameError: name 'module' is not defined
Я могу это сделать:
>>> type(os)
<type 'module'>
Но с чем я это сравниваю?: (
Я создал простой модуль, чтобы быстро находить методы в модулях и получать для них справочные тексты. Я поставляю модуль var и строку в свой метод:
def gethelp(module, sstring):
# here i need to check if module is a module.
for func in listseek(dir(module), sstring):
help(module.__dict__[func])
Конечно, это будет работать, даже если module = 'abc': тогда dir ('abc') предоставит мне список методов для строкового объекта, но мне это не нужно.