gpt4 book ai didi

键中带有冒号的 Python ConfigParser

转载 作者:行者123 更新时间:2023-11-28 21:23:06 26 4
gpt4 key购买 nike

How do I put a semicolon in a value in python configparser?

python - 2.7

我有一个 python 配置解析器,其中有一个部分,其中键是一个 url,值是一个标记。作为 url 的键包含:、-、?和其他各种字符同样适用于值(value)。正如您从上面的问题中看到的,值部分中的特殊字符似乎没问题,但 key 似乎没有问题。

我能做些什么吗?我的替代方案是解析为 json 文件并手动写入/读取它。

例如,如果你在我得到后运行下面的程序

cp = ConfigParser.ConfigParser()
cp.add_section("section")
cp.set("section", "http://myhost.com:9090", "user:id:token")
cp.set("section", "key2", "value2")
with open(os.path.expanduser("~/test.ini"), "w") as f:
cp.write(f)

cp = ConfigParser.ConfigParser()
cp.read(os.path.expanduser("~/test.ini"))
print cp.get("section", "key2")
print cp.get("section", "http://myhost.com:9090")

文件如下所示

[section]
http://myhost.com:9090 = user:id:token
key2 = value2

我得到异常 ConfigParser.NoOptionError: No option 'http://myhost.com:9090' in section: 'section'

最佳答案

Python 2.7 上的

ConfigParser 被硬编码为将冒号和等号识别为键和值之间的分隔符。当前的 Python 3 configparser 模块允许您自定义分隔符。 Python 2.6-2.7 的反向移植可在 https://pypi.python.org/pypi/configparser 获得。

关于键中带有冒号的 Python ConfigParser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17947319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com