python操作ini配置文件

一、.ini文件说明

格式如下:

;comments
[section1]
Param1 = value1
Param2= value2
[section2]
Param3= value3
Param4= value4
  • ; 注释
  • ==[section]==代表一个模块,一个文件内可以设置多个模块,自定义模块名称
  • Param1 = value1参数名称以及参数值,键值对的形式

我的配置文件的内容为:

conf.ini

;设置语言
[lan]
language = Chinese

二、所需要的模块

import os
import configparser

三、读取操作

proDir = os.path.dirname(os.path.realpath(sys.argv[0]))
    configPath = os.path.join(proDir,"conf.ini")#获取配置文件的路径

    conf=configparser.ConfigParser()#创建对象用于对配置文件进行操作
    conf.read(configPath,encoding="utf-8-sig")#以utf8编码形式读取
    try:
        lan = conf.get("lan","language") #读取配置文件设置的语言的值
    except:
        lan = "English"

读取的相关方法:

  • read(filename):读取文件内容

  • sections():得到所有的section,并以列表的形式返回。

  • options(section):得到该section的所有option。

  • items(section):得到该section的所有键值对。

  • get(section,option):得到section中option的值,返回string类型。

  • getint(section,option):得到section中option的值,返回int类型。

四、写入操作

# 修改配置文件中的语言
conf.set("lan","language","Chinese") #设置"lan"模块下的"language"的值为"Chinese"
conf.write(open(configPath,'w+',encoding="utf-8-sig")) #将修改写入到配置文件

写入的相关方法:

  • write(fp):将config对象写入至某个ini格式的文件中。

  • add_section(section):添加一个新的section。

  • set(section,option,value):对section中的option进行设置,需要调用write将内容写入配置文件。

  • remove_section(section):删除某个section。

  • remove_option(section,option):删除某个section下的option

五、细节注意

1、如果配置文件读取不到(不存在),则新建。

#判断是否存在配置文件,没有则创建
    if os.path.exists(configPath) == False:
        conf['lan'] = {'language':'English'}
        with open('conf.ini','w',encoding="utf-8-sig") as configfile:
            conf.write(configfile)

2、如果存在汉字,则需要将编码设为utf8。

conf.read(configPath,encoding="utf-8-sig") #注意是“utf-8-sig"
  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值