我建议使用子类
ConfigParser.ConfigParser(或
SafeConfigParser&c)来安全地访问“受保护”属性(以单个下划线开头的名称-“私有”将是以
两个 下划线开头的名称,即使在子类中也无法访问…):
import ConfigParserclass MyParser(ConfigParser.ConfigParser): def as_dict(self): d = dict(self._sections) for k in d: d[k] = dict(self._defaults, **d[k]) d[k].pop('__name__', None) return d
这模拟了配置解析器的通常逻辑,并保证可以在有
ConfigParser.py模块的所有版本的Python中使用(最多2.7,这是该
2.*系列的最后一个-
知道将来将不再有Python2。任何版本都是如何 保证 兼容性;-)。
如果您需要支持将来的Python
3.*版本(可能要升级到3.1和3.2),就可以了,只需将模块重命名为全小写即可,
configparser而不是当然),这可能需要几年的注意/调整。我不希望有什么大的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)