我正在编写一个脚本,该脚本扫描不同目录中的一系列配置文件,以确保它们具有特定值:在这种情况下,它们必须具有MySection
部分,该部分必须具有该选项Opt1
,不能等于0.如果它通过了所有这些测试,则文件正常。
我遇到的问题是,ConfigParser似乎“记住”它扫描的所有文件,因此如果它扫描的第一个文件包含Opt1
,则每个连续文件将为{{1}测试为正即使连续文件完全空白也是如此。我猜ConfigParser有某种缓存需要在读取每个文件之前清除吗?非常感谢任何帮助。
以下是代码:
Opt1
答案 0 :(得分:2)
代码多次重用相同的ConfigParser
对象(parser
)。它确实记住了配置。
每次阅读新文件时都创建ConfigParser
对象。
def repair(file,fsplit):
parser = configparser.ConfigParser()
parser.optionxform = str
with open(file) as f:
parser.read_file(f)
...