ConfigParser创建section:多次执行add_section('main')会引发重复或报错吗?
关于ConfigParser多次调用
add_section('main')的行为 嘿,这个问题我可太有发言权了!在Python的configparser模块(Python 2里叫ConfigParser)中,重复调用config.add_section('main')不会自动跳过创建操作,反而会直接抛出DuplicateSectionError异常,明确告诉你这个section已经存在啦。
举个实际的代码例子看看:
from configparser import ConfigParser, DuplicateSectionError # 初始化配置对象 config = ConfigParser() # 第一次添加main section,完全没问题 config.add_section('main') # 第二次尝试添加同一个section,就会触发异常 try: config.add_section('main') except DuplicateSectionError as err: print(err) # 输出内容:Section 'main' already exists
如果想要实现“存在就跳过,不存在才创建”的逻辑,你可以先调用has_section()方法做个判断:
if not config.has_section('main'): config.add_section('main')
这样不管你执行多少次这段代码,都不会出现报错的情况,只会在main section不存在的时候完成创建。
内容的提问来源于stack exchange,提问作者user9198016
相关产品推荐
相关产品推荐

