我有一个Python实用程序库pfacets
。该库使用每个模块一个功能的结构,其模块名称与函数相同。我想将此库中的所有函数公开为pfacets
模块的属性。目前,pfacets/__init__.py
看起来像这样:
from func1 import func1
from func2 import func2
...
有没有办法自动执行此操作,以便我不必维护此列表?我试过了:
for p in glob.glob(os.path.join(os.path.dirname(__file__), '*.py')):
if not os.path.basename(p).startswith('__'):
name = os.path.basename(x)[:-3]
__import__(name, globals(), locals(), [name])
我原以为在列表中有name
(第4个arg到__import__
)会处理这个,但是它没有用 - 名字被绑定到模块,而不是功能
答案 0 :(得分:1)
记住the Zen of Python:"明确比隐含更好。"要明确。