pyclbr Module¶
The pyclbr module reads a Python source file and provides information about the classes and functions defined in it without executing the code.
Complexity Reference¶
| Operation | Time | Space | Notes |
|---|---|---|---|
readmodule() |
O(n) | O(n) | n = source lines |
| Parse definitions | O(n) | O(n) | Extract classes/functions |
Analyzing Python Code Structure¶
Getting Class and Function Info¶
import pyclbr
# Parse module - O(n)
classes = pyclbr.readmodule('mymodule')
# Inspect results - O(1)
for classname, obj in classes.items():
print(f"Class: {classname}")
print(f" Methods: {list(obj.methods.keys())}")
print(f" Line: {obj.lineno}")
Finding Functions¶
import pyclbr
# Read with functions - O(n)
classes = pyclbr.readmodule('script.py')
functions = pyclbr.readmodule_ex('script.py')
# Examine
for name, obj in functions.items():
if isinstance(obj, pyclbr.Function):
print(f"Function: {name} at line {obj.lineno}")
else:
print(f"Class: {name} at line {obj.lineno}")