百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python中的configparser模块操作ini文件详解

off999 2024-11-13 11:48 25 浏览 0 评论

configparser 模块提供的方法比较多,这里列出所有方法,并给出简单的示例。

首先是 ConfigParser 类的方法:

read(filenames, encoding=None):从指定的文件(或列表中的文件)中读取配置数据,如果文件不存在则不会发生任何事情。filenames 参数可以是一个字符串或一个字符串列表,表示要读取的文件名或文件名列表。encoding 参数用于指定文件的编码格式,默认为 None,表示使用系统默认编码。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')

read_file(f, source=None):从指定的文件对象 f 中读取配置数据。如果 source 参数被提供,它将被用作文件名,以便在错误消息中引用

import configparser

with open('config.ini') as f:
    config = configparser.ConfigParser()
    config.read_file(f)

read_string(string, source='<string>'):从指定的字符串 string 中读取配置数据,并可选地提供一个 source 参数,用于在错误消息中引用。

import configparser

config = configparser.ConfigParser()
config.read_string("""
[general]
log_level = INFO
""")

read_dict(dictionary, source='<dict>'):从指定的字典 dictionary 中读取配置数据,并可选地提供一个 source 参数,用于在错误消息中引用。

import configparser

config = configparser.ConfigParser()
config.read_dict({
    'general': {
        'log_level': 'INFO',
    }
})

sections():返回配置文件中所有节的名称列表。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
sections = config.sections()
print(sections)

has_section(section):如果存在一个名为 section 的节,则返回 True,否则返回 False。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
has_section = config.has_section('general')
print(has_section)

options(section):返回指定节中所有选项(键)的名称列表。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
options = config.options('general')
print(options)

has_option(section, option):如果存在一个名为 option 的选项(键)在 section 节中,则返回 True,否则返回 False。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
has_option = config.has_option('general', 'log_level')
print(has_option)

get(section, option, *, raw=False, vars=None, fallback=_UNSET):返回 section 节中 option 选项(键)的值。如果 option 不存在,则抛出 NoOptionError 异常。raw 参数指定是否对返回值进行插值处理。vars 参数指定一个字典,用于替换值中的变量。fallback 参数指定一个默认值,用于在选项不存在时返回。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
log_level = config.get('general', 'log_level')
print(log_level)

getint(section, option, *, raw=False, vars=None, fallback=_UNSET):获取指定 section 节中 option 选项(键)的整数值。如果 option 不存在或无法转换为整数,则抛出 NoOptionError 或 ValueError 异常。raw、vars、fallback 参数与 get() 方法相同。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
timeout = config.getint('general', 'timeout')
print(timeout)

getfloat(section, option, *, raw=False, vars=None, fallback=_UNSET):获取指定 section 节中 option 选项(键)的浮点数值。如果 option 不存在或无法转换为浮点数,则抛出 NoOptionError 或 ValueError 异常。raw、vars、fallback 参数与 get() 方法相同。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
timeout = config.getfloat('general', 'timeout')
print(timeout)

getboolean(section, option, *, raw=False, vars=None, fallback=_UNSET):获取指定 section 节中 option 选项(键)的布尔值。如果 option 不存在或无法转换为布尔值,则抛出 NoOptionError 或 ValueError 异常。raw、vars、fallback 参数与 get() 方法相同。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
log_level_enabled = config.getboolean('general', 'log_level_enabled')
print(log_level_enabled)

set(section, option, value):设置 section 节中 option 选项(键)的值为 value。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
config.set('general', 'timeout', '120')

write(fileobject, space_around_delimiters=True):将配置数据写入指定的文件对象 fileobject 中。如果 space_around_delimiters 参数为 True,则会在等号前后添加空格。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
with open('new_config.ini', 'w') as f:
    config.write(f)

optionxform(optionstr):将选项名称转换为内部格式的方法。默认情况下,选项名称是不区分大小写的,但可以通过覆盖此方法来更改这一行为。

import configparser

class MyConfigParser(configparser.ConfigParser):
    def optionxform(self, optionstr):
        return optionstr.upper()

config = MyConfigParser()
config.read_string("""
[general]
log_level = INFO
""")
log_level = config.get('general', 'LOG_LEVEL')
print(log_level)

下面是 ConfigParser 类的属性:

DEFAULTSECT:表示默认节的名称,默认为 'DEFAULT'。

import configparser

config = configparser.ConfigParser()
print(config.DEFAULTSECT)

default_section:表示默认节的名称,等同于 DEFAULTSECT 属性。

import configparser

config = configparser.ConfigParser()
print(config.default_section)

sections():返回配置文件中所有节的名称列表。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
sections = config.sections()
print(sections)

optionxform:将选项名称转换为内部格式的方法,默认为小写。可以通过覆盖此方法来更改这一行为。

import configparser

class MyConfigParser(configparser.ConfigParser):
    def optionxform(self, optionstr):
        return optionstr.upper()

config = MyConfigParser()
config.read_string("""
[general]
log_level = INFO
""")
log_level = config.get('general', 'LOG_LEVEL')
print(log_level)

最后是 ConfigParser 类的一些私有方法和属性,这些方法和属性不建议在用户代码中使用:

_interpolate(section, option, rawval, vars):用变量替换选项(键)中的占位符。

_interpolate_some(parser, option, accum, rest, section, map, depth):支持 _interpolate() 方法的辅助方法。

_get_conv(self, section, option):获取选项(键)值的转换器。

_get(self, section, conv, option, **kwargs):获取选项(键)的值。

_get_default(self, section, conv, option, **kwargs):获取默认值。

_read(self, fp, fpname):从文件中读取配置数据,是 read()、read_file()、read_string() 和 read_dict() 方法的底层实现。

_parse_section(self, section_name, section_body):解析节并返回一个字典。

_parse_ini(self, content):解析 INI 文件并返回一个字典。

相关推荐

纯净系统之家官网(纯净系统基地官网)

系统之家发布的Win10纯净版是没有预装激活工具的,您需要自行激活。以下是操作步骤:1.打开“设置”页面,选择“更新和安全”选项。2.在左侧菜单栏中,选择“激活”。3.点击“更改产品密钥”按钮,...

免费无限破解版游戏大全下载

靠谱助手、烧饼、葫芦侠修改器、八门神器、全能破解就是不用花钱就能买游戏里的商品安全岂见打开飞行模式内购更安全不会扣费手机先ROOT,之后下对应的破解软件,这样成功率比较高。虎牙YOWA云游戏...

视频相册制作软件免费版(视频相册制作下载)
视频相册制作软件免费版(视频相册制作下载)

电脑端的软件推荐第一个会声会影,会声会影这个软件简单易上手,制作出来电子相册很美,软件本身简单容易操作,没有水印。第二个推荐快剪辑,快剪辑也是一个制作电子相册非常好的软件,这个软件简单易上手,没有什么操作难度。第三个电脑端的软件编辑星,编辑...

2026-01-16 23:51 off999

win11官网(win11官网激活码多少钱)

https://www.microsoft.com/zh-cn/您可以在微软官方网站上找到Windows11系统的下载链接,然后按照官方指导进行下载。首先,打开您的浏览器并访问微软官方网站,然后找到...

vmospro虚拟机(vmospro虚拟机游戏闪退)

VMOSPRO可以用来运行多个安卓系统。因为VMOSPRO是一款虚拟机应用,可以在其中运行多个安卓系统,用户可以在不影响手机原系统的情况下,体验更多的安卓应用和功能。除了运行多个安卓系统外,VMO...

法国vs阿根廷(法国vs阿根廷决赛)

法国和阿根廷此前一共交手过12次,法国3胜3平6负。世界杯交手了3次,2胜1负。总体战绩法国还是处于下风的。最近一次交锋是2018世界杯八分之一决赛一场比赛中,欧洲劲旅法国队以4-3的比分击败了南美强...

百度手机助手下载2025官方正版

10年2012年参加的社会保险到2022年的参保对应月应该是整10年。我打个比方:某甲2012年10月份参加了社保,那么到了2022年10月份就是参加社保整整的10年。差不多十年左右吧。2022-20...

迅雷手机版高清在线(迅雷手机观看2018)

《海派甜心》是可米瑞智国际艺能有限公司出品的一部青春偶像剧。由林合隆执导,杨丞琳、罗志祥、李威主演。腾讯,爱艺奇上都可以观看

itunes官方下载win7版(windows7下载itunes哪个版本)
itunes官方下载win7版(windows7下载itunes哪个版本)

itunes最新版本已经不支持win10以下系统了,很多商店标的支持win7只是没改,官网已经写的很清楚了,最低Windows10版本16299.0或更高版本。64位版本的Windows需要iTunes64位安装程序,4...

2026-01-16 22:15 off999

免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
  • 免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
  • 免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
  • 免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
  • 免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
  • 腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
  • 腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
  • 腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
  • 腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
破解版传奇游戏无限内购破解版

1/6分步阅读首先,我们先去将游戏软件下载下来,点击页面底部位置的下载按钮,开始进行下载。2/6然后,我们在自己的手机桌面上找到已经下载安装完成好了的游戏软件,点击进入。3/6进入到选择登录方式这个页...

手机浏览器flash插件(5.4英寸的屏幕)

1、在手机的应用商店中,进入到搜索页面之后,输入“Adobeflashplayer”,然后点击搜索,找到就可以安装了2、第二个可以直接通过网页搜索Adobeflashplayer,一定要注意版...

最新卫星地图(最新卫星地图高清在线观看)

实时地球是中科遥感集团开发的中国卫星影像地图软件,被誉为中国版的“谷歌地球”。在线地球采用遥感集市云平台数据接口,每天动态更新高分辨率卫星影像,同时内置近年历史影像存档数据,所有影像免费开放浏览。用...

免费伴奏网(免费伴奏网址大全)

推荐下列5个伴奏网:99伴奏网这个网站提供有很多免费伴奏下载,包括男歌手伴奏,女歌手伴奏,组合伴奏,合唱伴奏,民歌伴奏,儿歌伴奏,改版伴奏,戏曲伴奏,婚礼伴奏等。免费伴奏–乱推网一个伴奏搜索下载网站,...

取消回复欢迎 发表评论: