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"
【Python|Python ConfigParser读写配置文件】这里就遇到了第一个错误:
ModuleNotFoundError: No module named ‘ConfigParser’经过查证,在Python3.x中,ConfigParser.py 已经更名为 configparser.py 所以出错,改一下名字就对了。
常用操作 读取键值:
conf.read(iniFileUrl)
value = https://www.it610.com/article/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’))
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)