[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:
	pass
	
class ABC:
	pass
	
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