在Python配置文件中使用包含转义字符的参数

在Python配置文件中使用包含转义字符的参数,python,escaping,configparser,Python,Escaping,Configparser,我有一个使用以下代码读取的配置文件: import configparser as cp config = cp.ConfigParser() config.read('MTXXX.ini') MT=identify_MT(msgtext) schema_file = config.get(MT,'kbfile') fold_text = config.get(MT,'fold') 配置文件的相关部分如下所示: [536] kbfile=MT536.kb fold=:16S:TRANSDET\

我有一个使用以下代码读取的配置文件:

import configparser as cp
config = cp.ConfigParser()
config.read('MTXXX.ini')
MT=identify_MT(msgtext)
schema_file = config.get(MT,'kbfile')
fold_text = config.get(MT,'fold')
配置文件的相关部分如下所示:

[536]
kbfile=MT536.kb
fold=:16S:TRANSDET\n
稍后,我尝试查找字典中包含的与“fold”参数匹配的文本,我发现如果使用以下函数查找该文本:

    def test (find_text)
        return {k for k, v in dictionary.items() if find_text in v}
如果我以两种方式之一调用该函数,则会得到不同的结果:

test(fold_text)
找不到我想要的数据,但是:

test(':16S:TRANSDET\n')
返回我知道存在的结果

而且,如果我打印字典的内容,我可以看到它如预期的那样显示为

:16S:TRANSDET\n
因此,当我直接输入搜索文本时,它匹配,但当我从配置文件加载相同的文本时,它找不到匹配

我猜在从配置文件中读取/处理字符模式时,这里应用了一些魔法,但不知道如何使其按我希望的方式工作

我希望能够使用转义字符参数化,但由于某些内部机制,我似乎无法这样做


是否有一些开关我可以应用到配置读取器,或者一些额外的解析我可以做得到我想要的行为?或者也许有另一种解决办法。我确实觉得configparser模块使用起来很方便,但这可能是一个限制,它需要一个替代模块,甚至是自建模块来从参数文件中提取数据。

在以JSON格式编写配置文件后,我遇到了类似的情况-这是相同的根本原因,我受益于定义良好的格式的实用程序(JSON/Config文件)但这是以强制执行特定转义约定为代价的。我怀疑在这种情况下我是在要求吃蛋糕。