一、configparser模块是什么

  • 可以用来操作后缀为 .ini 的配置文件;
  • python标准库(就是python自带的意思,无需安装)

二、configparser模块基本使用

  • 2.1 读取 ini 配置文件

存在config.ini配置文件,内容如下:

#config.ini
[DEFAULT]
excel_path = ../test_cases/case_data.xlsx
log_path = ../logs/test.log
log_level = 1[email]
user_name = 32@qq.com
password = 123456

使用configparser模块读取配置文件

import configparser#创建配置文件对象
conf = configparser.ConfigParser()
#读取配置文件
conf.read('config.ini', encoding="utf-8")
#列表方式返回配置文件所有的section
print( config.sections() )    #结果:['default', 'email']
#列表方式返回配置文件email 这个section下的所有键名称
print( conf.options('email') )    #结果:['user_name', 'password']
#以[(),()]格式返回 email 这个section下的所有键值对
print( conf.items('email') )    #结果:[('user_name', '32@qq.com'), ('password', '123456')]
#使用get方法获取配置文件具体的值,get方法:参数1-->section(节) 参数2-->key(键名)
value = conf.get('default', 'excel_path')
print(value)

  • 2.2 写入 ini 配置文件(字典形式)
import configparser#创建配置文件对象
conf = configparser.ConfigParser()
#'DEFAULT'为section的名称,值中的字典为section下的键值对
conf["DEFAULT"] = {'excel_path' : '../test_cases/case_data.xlsx' , 'log_path' : '../logs/test.log'}
conf["email"] = {'user_name':'32@qq.com','password':'123456'}
#把设置的conf对象内容写入config.ini文件
with open('config.ini', 'w') as configfile:conf.write(configfile)

  • 2.3 写入 ini 配置文件(方法形式)
import configparser#创建配置文件对象
conf = configparser.ConfigParser()
#读取配置文件
conf.read('config.ini', encoding="utf-8")
#在conf对象中新增section
conf.add_section('webserver')
#在section对象中新增键值对
conf.set('webserver','ip','127.0.0.1')
conf.set('webserver','port','80')
#修改'DEFAULT'中键为'log_path'的值,如没有该键,则新建
conf.set('DEFAULT','log_path','test.log')
#删除指定section
conf.remove_section('email')
#删除指定键值对
conf.remove_option('DEFAULT','excel_path')
#写入config.ini文件
with open('config.ini', 'w') as f:conf.write(f)

上述3个例子基本阐述了configparser模块的核心功能项;

例1:中,encoding="utf-8"为了放置读取的适合中文乱码;

例2:你可以理解为在字典中新增数据,键:配置文件的section,字符串格式;值:section的键值对,字典格式;
例3:中在使用add_section方法时,如果配置文件存在section,则会报错;而set方法在使用时,有则修改,无则新建。

三、总结

如果你觉得此文对你有帮助,如果你对此文有任何疑问,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣请拉到最上面关注笔者的名字!

作者出处:逍遥子:python编程之ini文件处理-configparser模块应用
转载声明:欢迎转载,但未经作者同意请保留此段声明,并在文章明显位置给出原文链接。

ini文件中文乱码 python_python编程之ini文件处理-configparser模块应用相关推荐

  1. Qt读取ini文件中文乱码问题

    Qt读取ini文件中文乱码问题 方法1: QSettings settings("xxxx.ini",QSettings::IniFormat); settings.setIniC ...

  2. 解决ini-parser解析ini文件中文乱码问题

    解决ini-parser解析ini文件中文乱码问题 参考文章: (1)解决ini-parser解析ini文件中文乱码问题 (2)https://www.cnblogs.com/nodegis/p/95 ...

  3. php写入文本乱码,如何解决PHP用fwrite写入文件中文乱码的问题

    如何解决PHP用fwrite写入文件中文乱码的问题 发布时间:2020-07-15 13:52:07 来源:亿速云 阅读:220 作者:Leah 这期内容当中小编将会给大家带来有关如何解决PHP用fw ...

  4. Python2写csv文件中文乱码问题及解决方法详解

    导读 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode,这篇文章给大家介绍Python2写csv文件中文乱码问题及解决方法,感兴趣的朋友跟随小编一起看看吧 ...

  5. python 保存本地乱码,解决python保存数据到csv文件中文乱码的方法

    解决python保存数据到csv文件中文乱码的方法 发布时间:2020-07-08 13:49:53 来源:亿速云 阅读:695 作者:清晨 小编给大家分享一下解决python保存数据到csv文件中文 ...

  6. Zip文件中文乱码问题解决方法(MAC->Windows)

    Zip文件中文乱码问题解决方法(MAC->Windows) 参考文章: (1)Zip文件中文乱码问题解决方法(MAC->Windows) (2)https://www.cnblogs.co ...

  7. python写入csv文件中文乱码解决方案

    python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...

  8. Myeclipse出现 java文件中文乱码问题

    Myeclipse出现 java文件中文乱码问题 一.将整个project设置编码UTF-8(UTF-8可以最大的支持国际化)   windows->Preferences->genera ...

  9. QJsonObject写入读出json文件中文乱码问题解决

    问题的提出: QJsonObject写入读出json文件中文乱码. 复现步骤: 当json串很长时,我们一般采用流的形式写入文本,否则会截断导致写入不全,如下为将一个很长的json字符串写入qsMod ...

最新文章

  1. mysql远程连接问题
  2. linux c++ 程序运行时间,总结UNIX/LINUX下C++程序计时的方法
  3. 院士倪光南:Win10不安全 中国必须用自主操作系统
  4. 这回真要涨工资了!国务院教育督导办:2020年把义务教育教师平均工资收入水平不低于当地公务员作为督导检查重点...
  5. springboot 插入返回id_Spring Boot实现分布式微服务开发实战系列(七)
  6. Prim和Kruskal算法
  7. 在html中如何写图片渐变,如何通过CSS3实现背景图片色彩的梯度渐变_html/css_WEB-ITnose...
  8. 调用未知DLL中的导出函数[转]
  9. shell脚本启动语法错误syntax error near unexpected token '{
  10. SONiC镜像编译指南(转,参考1)
  11. RHEL常用 Linux命令操作
  12. 阿里图标css的使用中的使用方法,iconfont阿里巴巴矢量图标库的正确使用方法
  13. Dragonfly 修改数据像素点大小
  14. Failed to introspect annotated methods on class 异常
  15. 如何给视频配上字幕?教你几种视频配字幕小妙招
  16. 2.4.3 Mybatis 高级查询, 复杂映射, 返回主键, 动态SQL if, set, foreach, 核心配置文件深入,plugins标签, 多表查询, 嵌套查询
  17. bp神经网络实现人脸识别,卷积神经网络手势识别
  18. vlan间路由技术和生成树协议
  19. 【微信小程序】文本域输入带最大字数限制(1/100)
  20. 【互联网保险-ECIF/CRM】客户统一视图存在意义及建设思路

热门文章

  1. oracle 08177,Java OracleDatabaseException: ORA-08177: 无法连续访问此事务处理问题解决
  2. new thread后会阻塞主程序吗_阻塞模型将会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?...
  3. UI设计灵感|信息录入表单页,告别枯燥!
  4. UI实用素材|促销弹出设计
  5. 最新创意购物促销海报设计,广告人必看!
  6. 不会手绘有福了!场景的插画素材帮你搞定!
  7. 怎么把照片做成消消乐_开心消消乐特效怎么制作 制造的几种方式分享
  8. dbmsjobs记录表 oracle_oracle数据库定时任务dbms_job
  9. oracle关联表查询使用索引_SQL技巧:查询某个表关联的所有存储过程
  10. HTTP请求头,应答头类型相关问题