[BangPypers] Finding methods in a python script

Pradeep Kishore Gowda pradeep at btbytes.com
Thu Mar 13 10:10:14 CET 2008

On 3/13/08, Heshan Suriyaarachchi <heshan.suri at gmail.com> wrote:
> Hi
>    I am talking about a scenario like this
> class A:
>     def foo(var1,var2):
>         return 'Hello'
>     def echo():
>         return 'testing'
> class B:
>     def bar(car):
>          val = car
>         return car
> What I need is to find out the classes and the methods of each class with
> their parameters.
> i.e. class A
>           foo(var,var)
>           echo()
> when using dir() it does not show the methods and the method parameters .

## foo2.py
class A:
class ABC:
def foo():
	return 'Hello'

def bar():
	return 899
PI = 22/7

## print_methods.py
import types
import foo2
# In python everything is available as a dict
all =  foo2.__dict__

# run through the items and check whether they are classes are functions
for i in all.keys():
	if type(all[i]) == types.ClassType:
		print i, 'is a class'
	elif type(all[i]) == types.FunctionType:
		print i, 'is a function'
# of course this gives only the top level functions and classes.

# Traverse the Tree to get the classes and methods like you wanted.

# Pradeep

Home - http://btbytes.com
Heart  - http://sampada.net
Yummy! - http://konkanirecipes.com

More information about the BangPypers mailing list