记录python写ini文件时,ini文件末尾多出莫名字符的问题

问题描述

我现在有一段python代码,功能是写ini文件:

cfp = configparser.ConfigParser()
fp = open(file_path, 'r+')
cfp.read(file_path)
cfp.set('BACpypes', 'foreignBBMD', '20')
cfp.set('BACpypes', 'foreignTTL', '30')
cfp.write(fp)
fp.close()

但是写的ini文件中,最后会多出一行"TTL = 30"

[BACpypes]
foreignbbmd = 20
foreignttl = 30

TTL = 30

原因分析:

问题出现在 ini 文件中的键(Key)的大小写不一致。在配置文件中,键是大小写敏感的。

在我的代码中,使用了 cfp.set() 方法来设置键值对。然而,键 “foreignTTL” 在 ini 文件中被写为 “foreignttl”,这导致 cfp.write() 方法在写入 ini 文件时创建了额外的键 “TTL”。


解决方案:

将写入ini文件是的key统一设置为小写,即可解决这个问题

cfp = configparser.ConfigParser()
fp = open(file_path, 'r+')
cfp.read(file_path)
cfp.set('BACpypes', 'foreignbbmd', '20')
cfp.set('BACpypes', 'foreignttl', '30')
cfp.write(fp)
fp.close()

你可能感兴趣的:(杂记,python)