Is there a way to prefix all of the functions in a python module?
本问题已经有最佳答案,请猛点这里访问。
我有一个名为foo.py的模块,另一个模块bar.py将函数加载到它的名称空间中。如何在foo.py中的所有函数前面加上字符串
PY.PY:
1 2 3 4 5 | def func1(): return"hello" def func2(): return"world" |
bar.py:
1 2 3 4 | from foo import * def do_something(): return foo_func1() |
你在找这样的东西吗?
1 2 3 4 5 6 7 | def do_something( i ): import foo f = getattr( foo, 'func'+str(i) ) return f() print( do_something(1) ) # hello print( do_something(2) ) # world |
可以使用oldfashion
docs: getattr(object, name[, default])
编辑(抱歉,完全误读了问题)
你可以简单地使用
1 | import foo |
然后调用函数:
1 2 | foo.funct1() # hello foo.funct2() # world |