How can I list the methods in a Python 2.5 module?
Question:
I’m trying to use a Python library written in C that has no documentation of any kind. I want to use introspection to at least see what methods and classes are in the modules. Does somebody have a function or library I can use to list the functions (with argument lists) and classes (with methods and member variables) within a module?
I found this article about Python introspection, but I’m pretty sure it doesn’t apply to Python 2.5. Thanks for the help.
Answers:
The dir() functions shows all members a module has.
Here are some things you can do at least:
import module
print dir(module) # Find functions of interest.
# For each function of interest:
help(module.interesting_function)
print module.interesting_function.func_defaults
Just this is pretty good too:
import module
help(module)
It will print the docstring for the module, then list the contents of the module, printing their docstrings too.
Mark Pilgrim’s chapter 4, which you mention, does actually apply just fine to Python 2.5 (and any other recent 2.*
version, thanks to backwards compatibility). Mark doesn’t mention help
, but I see other answers do.
One key bit that nobody (including Mark;-) seems to have mentioned is inspect, an excellent module in Python’s standard library that really helps with advanced introspection.
I’m trying to use a Python library written in C that has no documentation of any kind. I want to use introspection to at least see what methods and classes are in the modules. Does somebody have a function or library I can use to list the functions (with argument lists) and classes (with methods and member variables) within a module?
I found this article about Python introspection, but I’m pretty sure it doesn’t apply to Python 2.5. Thanks for the help.
The dir() functions shows all members a module has.
Here are some things you can do at least:
import module
print dir(module) # Find functions of interest.
# For each function of interest:
help(module.interesting_function)
print module.interesting_function.func_defaults
Just this is pretty good too:
import module
help(module)
It will print the docstring for the module, then list the contents of the module, printing their docstrings too.
Mark Pilgrim’s chapter 4, which you mention, does actually apply just fine to Python 2.5 (and any other recent 2.*
version, thanks to backwards compatibility). Mark doesn’t mention help
, but I see other answers do.
One key bit that nobody (including Mark;-) seems to have mentioned is inspect, an excellent module in Python’s standard library that really helps with advanced introspection.