四、单例模式
来源:互联网 发布:盛势网络剧剧照 编辑:程序博客网 时间:2024/06/04 20:58
一些常用的方法放到了MyUtil类中,为了不造成创建多个MyUtil实例的情况,因此使用了单例模式
main.py
MyUtil(fileName=psettings.ROOT_DIR + os.sep + 'config' + os.sep + 'config.properties')
myutil.py
class MyUtil(object): ''' 单例,提供从配置文件获取信息,获取连接等基础方法 ''' fileName = '' cp = None __instance = None cnxpool = None def __new__(cls, *args, **kwd): if MyUtil.__instance is None: MyUtil.__instance = object.__new__(cls, *args, **kwd) return MyUtil.__instance def __init__(self, fileName=None): if fileName is None: raise Exception('%s配置文件没有找到' % fileName) MyUtil.fileName = fileName MyUtil.cp = ConfigParser() print '配置文件%s' % MyUtil.fileName MyUtil.cp.read(fileName) self.logger = logging.getLogger('myLogger.myutil.MyUtil') @classmethod def loadProperty(cls, section, key): ''' 从配置文件中获得key对应的值 @param section: 节点名称 @param key: 参数名 @return: 得到的结果string类型,如果没有取得值返回None ''' if MyUtil.cp is None: MyUtil.cp = ConfigParser() if MyUtil.fileName is None: raise Exception('%s配置文件没有找到' % MyUtil.fileName) MyUtil.cp.readfp(codecs.open(MyUtil.fileName, "r", "utf-8-sig")) s = MyUtil.cp.sections() try: if s is not None and section in s: value = MyUtil.cp.get(section, key) else: value = None except Exception, e:# print e value = None# print value return value
阅读全文
0 0
- 四、单例模式
- 四 单例模式
- 四,单例模式
- 四、单例模式
- 四、单例模式
- (四)单例设计模式
- 单例模式(四)
- 设计模式(四)--单例模式(1)
- 设计模式(四)--单例模式(2)
- 设计模式四:单例模式
- 设计模式(四)---单例模式
- 设计模式之四:单例模式
- 设计模式(四)之单例模式
- 设计模式(四)单例模式
- iOS设计模式(四) 单例模式
- 设计模式(四) 单例模式
- 大话设计模式(四)单例模式
- 设计模式(四)单例模式
- 归并排序
- ZooKeeper工作原理
- 简单的源码解析
- 开源自定义可折叠按钮
- IntelliJ Idea 2017 免费激活方法
- 四、单例模式
- java中的语法糖
- 海明码简单计算方法
- NoClassDefFoundError
- scribe、chukwa、kafka、flume日志系统对比
- 文件下载
- Centos6.5 远程访问mysql
- 【python代码技巧2】数组索引扩增技巧
- webpack+react-router按需加载入门