我正在写一个python包。我使用插件的概念-每个插件都是一个工作类的专门化。每个插件都被写成一个模块(脚本?)并在一个单独的过程中产生。在
由于插件之间的基本通用性(例如,所有插件都扩展了基类“Worker”),因此插件模块通常如下所示:
import commonfuncs
def do_work(data):
# do customised work for the plugin
print 'child1 does work with %s' % data
在Python中是否需要类似的东西?如果需要,如何确保commonfuncs不会被“包含”多次?在
不用担心:在程序执行过程中,只有模块的第一个
import
才会导致加载。在第一个导入之后的每一个进一步的导入都只是从“缓存”字典(sys.modules
,按模块名字符串索引)获取模块对象,因此它非常快速,而且没有副作用。因此,不需要守卫。在相关问题 更多 >
编程相关推荐