Issue
I have a module, in the module is a subcomponent which contains a multitude of functions. I need to iterate through a list of names which contains the names of the modules and call the functions. this does not work, "because module has no attribute list". How do I make list[x] callable as a subcomponent of module instead of "list" the name.
file 1:
def x():
print('x')
def y():
print('y')
def z():
print('z')
file 2:
import module # containing functions x(),y(),z()
list = ['x','y','z']
for x in list:
module.list[x]()
Solution
Try getattr()
:
import module
lst = ["x", "y", "z"]
for item in lst:
getattr(module, item)()
Prints:
<function x at 0x7f2c56129e50>
<function y at 0x7f2c56129f70>
<function z at 0x7f2c560e4c10>
Answered By - Andrej Kesely Answer Checked By - Pedro (PHPFixing Volunteer)
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.