gpt4 book ai didi

python - RawConfigParser 未写入空字符串

转载 作者:行者123 更新时间:2023-12-01 05:33:14 28 4
gpt4 key购买 nike

我正在将一个 .ini 文件中的部分、选项和值复制到另一个文件,以便将多个 .ini 文件合并为一个文件,其中 RawConfigParser

在一个源.ini中,我有这个并且希望复制它:

[foo]
bar=""

但是我得到的结果是

[foo]
bar=

这不符合我的要求,因为我测试的封闭外部程序无法与此ini一起使用。

我尝试过 '""'\"\""\"\"" 但没有成功。 (编辑:请注意,输出 '' 对我也没有任何好处,它需要"")

我的代码是:

import ConfigParser

inireader = ConfigParser.RawConfigParser()
inireader.read('source.ini')

iniwriter=ConfigParser.RawConfigParser()
for section_name in inireader.sections():
for name, value in inireader.items(section_name):
print name,value
if not iniwriter.has_section(section_name):
iniwriter.add_section(section_name)
iniwriter.set(section_name, name, value)
with open("output.ini", "wb") as f:
iniwriter.write(f)

if value == "": iniwriter.set(section_name,name,'""') 有效,但这是一个错误吗?或者我做错了什么?有没有一种非黑客的方法来做到这一点?

编辑:我使用的是Python 2.7

最佳答案

查看ConfigParser source code ,看起来有一种特殊情况,read()函数会将两个双引号作为值转换为空字符串。

不太清楚为什么做出这个决定,但这绝对是故意的行为,我认为你需要使用你的 hacky if value == "": iniwriter.set(section_name,name,'""') 来解决这个问题。

关于python - RawConfigParser 未写入空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19712222/

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