我有一个称为foo.py的模块,另一个模块bar.py将功能加载到其名称空间中。如何将foo.py中的所有功能与字符串foo_
一起前缀。一个例子:
foo.py:
def func1():
return "hello"
def func2():
return "world"
bar.py:
from foo import *
def do_something():
return foo_func1()
您是否正在寻找类似的东西?
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
,您可以在运行时创建。
文档:getAttr(对象,名称[,默认](
编辑(对不起,完全错过了问题(
您可以简单地使用
import foo
,然后以:
调用功能foo.funct1() # hello
foo.funct2() # world