Is this a good approach to execute a list of operations on a data structure in Python?

Posted by Sridhar Iyer on Stack Overflow See other posts from Stack Overflow or by Sridhar Iyer
Published on 2010-04-30T23:51:01Z Indexed on 2010/04/30 23:57 UTC
Read the original article Hit count: 143

Filed under:
|

I have a dictionary of data, the key is the file name and the value is another dictionary of its attribute values. Now I'd like to pass this data structure to various functions, each of which runs some test on the attribute and returns True/False.

One approach would be to call each function one by one explicitly from the main code. However I can do something like this:

#MYmodule.py
class Mymodule:
  def MYfunc1(self):
  ...
  def MYfunc2(self):
  ...

#main.py
import Mymodule
...
#fill the data structure
...
#Now call all the functions in Mymodule one by one
for funcs in dir(Mymodule):
   if funcs[:2]=='MY':
      result=Mymodule.__dict__.get(funcs)(dataStructure)

The advantage of this approach is that implementation of main class needn't change when I add more logic/tests to MYmodule.

Is this a good way to solve the problem at hand? Are there better alternatives to this solution?

© Stack Overflow or respective owner

Related posts about python

Related posts about coding-style