【发布时间】:2010-12-12 17:41:46
【问题描述】:
(重要:请参阅下面的更新。)
我正在尝试编写一个函数,import_something,它将对某些模块很重要。 (对于这个问题,哪个无关紧要。)问题是,我希望在调用函数的级别导入这些模块。例如:
import_something() # Let's say this imports my_module
my_module.do_stuff() #
这可能吗?
更新:
抱歉,我最初的措辞和示例具有误导性。我将尝试解释我的整个问题。我拥有的是一个包,里面有一些模块和包。在其__init__.py 中,我想导入所有模块和包。因此,在程序的其他地方,我导入了整个包,并遍历它已导入的模块/包。
(为什么?这个包叫crunchers,里面定义了各种各样的crunchers,比如CruncherThread,CruncherProcess,将来可能是MicroThreadCruncher。我想让crunchers包自动将所有的 cruncher 都放在其中,所以稍后在程序中使用 crunchers 时,我知道它可以准确地分辨出我定义了哪些 cruncher。)
我知道如果我完全避免使用函数,并且使用 for 循环等在主级别上执行所有导入,我可以解决这个问题。但是很丑,我想看看能不能避免。
如果还有什么不清楚的,请在cmets中提问。
【问题讨论】: