brad tilley <rt*****@vt.eduwrites:
How do I import a module and then ask it to show me its methods or other
aspects about itself during execution? I'd like to do something such as
this:
import win32api
print win32api.methods()
I'd like to write some test scripts that load modules and probe them
for information about themselves.
As well as the 'inspect' module, you may be able to get some distance
just with builtin functionality::
>>import re
>>dir(re)
['DOTALL', 'I', 'IGNORECASE', 'L', 'LOCALE', 'M', 'MULTILINE',
'S', 'U', 'UNICODE', 'VERBOSE', 'X', '__all__', '__builtins__',
'__doc__', '__file__', '__name__', 'compile', 'engine', 'error',
'escape', 'findall', 'finditer', 'match', 'purge', 'search',
'split', 'sub', 'subn', 'template']
>>[(n, getattr(re, n)) for n in dir(re)]
[('DOTALL', 16), ('I', 2), ('IGNORECASE', 2), ('L', 4), ('LOCALE',
4), ('M', 8), ('MULTILINE', 8), ('S', 16), ('U', 32), ('UNICODE',
32), ('VERBOSE', 64), ('X', 64), ('__all__', ['match', 'search',
'sub', 'subn', 'split', 'findall', 'compile', 'purge', 'template',
'escape', 'I', 'L', 'M', 'S', 'X', 'U', 'IGNORECASE', 'LOCALE',
'MULTILINE', 'DOTALL', 'VERBOSE', 'UNICODE', 'error',
'finditer']),
[...]
]
>>[n for n in dir(re) if hasattr(getattr(re, n), '__call__')]
['compile', 'escape', 'findall', 'finditer', 'match', 'purge',
'search', 'split', 'sub', 'subn', 'template']
--
\ "Madness is rare in individuals, but in groups, parties, |
`\ nations and ages it is the rule." -- Friedrich Nietzsche |
_o__) |
Ben Finney