Python ConfigParser读写配置文件

window下我们常常用ini文件作为配置文件,一个典型的配置文件如下:

[net]
ip = 21.16.16.245
port = 2232

我们要做的事情就是从里面读写键值,Python提供了一个ConfigParser包来做ini文件的续写,很简单的一个事情,实际操作中还是遇到一些小坑,做个记录。

:我的Python 3.6,如果是Python2.7可能不存在我遇到的坑。

导入包

import configparser
conf = configparser.ConfigParser()
iniFileUrl="sysconfig.ini"

这里就遇到了第一个错误:

ModuleNotFoundError: No module named ‘ConfigParser’

经过查证,在Python3.x中,ConfigParser.py 已经更名为 configparser.py 所以出错,改一下名字就对了。

常用操作

读取键值:
conf.read(iniFileUrl)
value = conf.get(‘net’,’ip’)

写入键值:
conf.read(iniFileUrl)
conf.set(‘net’,’ip’, ‘127.0.0.1’)
conf.write(open(iniFileUrl, ‘w’))

这里write的时候我用的’wb’,遇到了第二个错误

TypeError: a bytes-like object is required, not ‘str’

python2.x中,写入参数用 ‘wb’,默认数据是byte数据,二进制方式读写
python3.x中,写入参数要 ‘b’,默认是unicode

方法汇总

读取

  • read(filename):读取ini文件中的内容
  • sections():得到所有section,返回列表形式
  • options(section):得到给定section的所有option
  • items(section):得到指定section的所有key-value
  • get(section,option):得到section中的option值,返回str/int类型

写入

  • write(fp) :将config对象写入至某个 .init 格式的文件
  • add_section(sectionname):添加一个名为sectionname的section
  • set(sectionname,option,value):设置sectionname的option和value的值

删除

  • remove_option(section, option) 删除
  • remove_section(section)

注意:修改和删除操作都需要回写:

conf.write(open(iniFileUrl, ‘w’))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值