有没有办法将Python模块中的所有功能前缀



我有一个称为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

最新更新