一写入配置文件里的注释就全没了,影响可读性,百度了下,看解决办法要修改模块源码,有没有更好的办法啊?
|
VintyMay 27, 2021
1
很简单,修改前缀不要把它标记为注释读取就行
``` config.ini [default_settings] ; comment value = 1 ``` ```python from configparser import ConfigParser conf = ConfigParser(comment_prefixes='/', allow_no_value=True) conf.read("config.ini") with open("new_config.ini", "w") as fp: conf.write(fp) ``` |
|
2
@Vinty 有点问题哎,
``` config.ini [default_settings] ; comment ;value = 1 #value=2 value=3 ``` 注释是这个样子的,然后就报错了=。。=( option ';value' in section 'default_settings' already exists ),配置文件开头也有注释,运行的话也是直接报错 |
|
3
|
|
xinghengMay 27, 2021
4
换 yaml
|
|
VintyMay 27, 2021
5
#2 因为 read 的时候就已经丢掉了注释,所以为了保存注释,这里把注释的前缀修改成了另一个字符`\`,然后把注释当作一条字段读取了进来,
你这里#value = 1, #value = 2 就是一个重复的字段了 |