我有一个名为foo.py的模块,另一个模块bar.py将函数加载到其命名空间中。如何使用字符串foo_
为foo.py中的所有函数添加前缀。一个例子:
foo.py:
def func1():
return "hello"
def func2():
return "world"
bar.py:
from foo import *
def do_something():
return foo_func1()
答案 0 :(得分:1)
你在找这样的东西吗?
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 getattr
- 函数通过字符串访问属性。这将获取一个对象和string
,您可以在运行时创建它。
编辑(抱歉,完全错过了这个问题)
你可以简单地使用
import foo
然后使用:
调用函数foo.funct1() # hello
foo.funct2() # world