我正在写一个python包.我正在使用插件的概念 - 其中每个插件都是Worker类的特化.每个插件都是作为一个模块(脚本?)编写的,并在一个单独的进程中生成.
由于插件之间的基本共性(例如,所有扩展基类'Worker'),插件模块通常如下所示:
import commonfuncs
def do_work(data):
# do customised work for the plugin
print 'child1 does work with %s' % data
Run Code Online (Sandbox Code Playgroud)
在C/C++中,我们包含了防护,它可以防止标题被多次包含.
我是否需要Python中的类似内容,如果是,我怎样才能确保commonfuncs不会被"包含"多次?
Ale*_*lli 16
不用担心:只有程序执行过程中的第 import一个模块才能加载它.在第一个之后的每个进一步导入只是从"缓存"字典中获取模块对象(sys.modules由模块名称字符串索引),因此它既快速又没有副作用.因此,不需要警卫.
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |