配置语法分析器问题Python

配置语法分析器问题Python,python,configparser,Python,Configparser,我在附加到配置文件时遇到问题。这是我想要创造的 [section1] val1 = val2 val3 = val4 但是当我运行以下代码时,我看到ConfigParser.NoSectionError:No section:'section1' import ConfigParser cfg = ConfigParser.RawConfigParser() cfg.set("section1", "val1", "val2") f = open("example.cfg", "a") c

我在附加到配置文件时遇到问题。这是我想要创造的

[section1]
val1 = val2
val3 = val4
但是当我运行以下代码时,我看到
ConfigParser.NoSectionError:No section:'section1'

import ConfigParser

cfg = ConfigParser.RawConfigParser()
cfg.set("section1", "val1", "val2")

f = open("example.cfg", "a")
cfg.write(f)
如果我加上

if not cfg.has_section("section1"):
    cfg.add_section("section1")
然后,这就是我得到的

[section1]
val1 = val2

[section1]
val3 = val4

有人能告诉我我做错了什么吗?谢谢

我充实了你的代码。在检查分区之前,是否正在读取现有文件?此外,您应该立即编写整个文件。不要附加

import ConfigParser

cfg = ConfigParser.ConfigParser()
cfg.read('example.cfg')

if not cfg.has_section('section1'):
    cfg.add_section('section1')

cfg.set('section1', 'val1', 'val2')
cfg.set('section1', 'val2', 'val3')

f = open('example.cfg', 'w')
cfg.write(f)
f.close()

我充实了你写的代码。在检查分区之前,是否正在读取现有文件?此外,您应该立即编写整个文件。不要附加

import ConfigParser

cfg = ConfigParser.ConfigParser()
cfg.read('example.cfg')

if not cfg.has_section('section1'):
    cfg.add_section('section1')

cfg.set('section1', 'val1', 'val2')
cfg.set('section1', 'val2', 'val3')

f = open('example.cfg', 'w')
cfg.write(f)
f.close()

我忘了关闭文件。谢谢是的,我正在读取一个现有文件。这就是为什么我想将新值附加到文件中。那么,我是否应该读取现有文件并使用新值再次写入它?如果您将配置文件与更新一起写入,那么您以前拥有的所有值也将存在,因此是的。使用cfg文件更新可以正常工作:)我忘了关闭该文件。谢谢是的,我正在读取一个现有文件。这就是为什么我想将新值附加到文件中。那么,我是否应该读取现有文件并使用新值再次写入它?如果您使用更新写出配置文件,那么您以前拥有的所有值也将存在,因此是的。使用cfg文件更新可以正常工作:)不可以。我想我没有说清楚。我在cfg.set()之前添加if语句。我想这就是让你困惑的原因。不,它起作用了。我想我没有说清楚。我在cfg.set()之前添加if语句。我想这就是让你困惑的原因。