【问题标题】:Extending configobj on python to handle custom comment marker在 python 上扩展 configobj 以处理自定义注释标记
【发布时间】:2022-09-30 05:43:19
【问题描述】:

我有一个没有部分的配置文件、键和值对。我正在尝试使用 configobj 解析它,但我的配置文件中的 cmets 以 // 而不是 # 开头

在 configobj 文档中,我找到了一个示例,但它对我不起作用:

from configobj import ConfigObj

class ConfigObjCustom(ConfigObj):
    COMMENT_MARKERS = [\'//\']


config = ConfigObjCustom(\'hello.conf\')

有没有办法扩展 configobj 以支持其他评论标记?

  • 我也尝试使用 \';\' 作为评论,它也不适用于 configobj 中的示例。

标签: python configobj


【解决方案1】:

我也无法获得建议的示例,即通过更改 COMMENT_MARKERS 继承一个新对象来工作。

但是解决问题的压路机方法是读取文件,替换 cmets,然后将其提供给 configobj。我做了一个快速测试,效果很好:

from configobj import ConfigObj
import re
from io import StringIO

with open('hello.conf') as f:
    file_contents = re.sub('//', '#', f.read())

print(config['SOMEKEY'])

【讨论】:

    猜你喜欢
    • 2015-07-21
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2016-07-01
    • 2017-05-05
    • 1970-01-01
    相关资源
    最近更新 更多