转载文章

Python 操作配置文件

 飞翔的花狸猫   2020-03-15 12:38   112 人阅读  0 条评论

Python 标准库的 ConfigParser 模块提供了一套完整的 API 来读取和操作配置文件。

文件格式

  • 配置文件中包含一个或多个 p,每个 p 都有自己的 option;

  • p 用 [sect_name] 表示,每个 option 是一个键值对,使用分隔符 = 或者 : 隔开;

  • option 分隔符两端的空格会被忽略掉;

  • 配置文件使用 # 注释;

示例配置文件 dbconf.cfg;

[dbconfig]# 数据库读库链接信息host=127.0.0.1user=root
passwd=root
database=banma_finance
port=3306

示例配置文件 book.info

[book]# 标题title: Core Pythonversion: 2016009021[hardcopy]pages:350

操作配置文件

配置文件的读取

1 实例化 ConfigParser

# 实例化 CoinfigParser 并加载配置文件
# 实例化 dbconf 的解析器
db_config_parser = ConfigParser.SafeConfigParser()
db_config_parser.read('dbconf.cfg')
# 实例化 book_info 的解析器
book_info_parser = ConfigParser.SafeConfigParser()
book_info_parser.read('book.info')

2 读取文件节点信息

# 获取 p 信息
print db_config_parser.ps()
print book_info_parser.ps()
# 打印书籍的大写名称
print string.upper(book_info_parser.get("book","title"))
print "by", book_info_parser.get("book","author")
# 格式化输出 dbconf 中的配置信息
for p in db_config_parser.ps():print pfor option in db_config_parser.options(p):print " ", option,"=",db_config_parser.get(p,option)

输出结果:

['dbconfig']['book', 'hardcopy']CORE PYTHONby Jack
dbconfighost = 127.0.0.1user = rootpasswd = rootdatabase = banma_financeport = 3306

配置文件的写入

配置文件的写入与配置文件的读取方式基本一致,都是先操作对应的p,然后在 p 下面写入对应的 option;

# !/usr/bin/python
# coding:utf-8
import ConfigParser sys
# 初始化
ConfigParserconfig_writer = ConfigParser.ConfigParser()
# 添加 book 节点
config_writer.add_p("book")
# book 节点添加 title,author 配置
config_writer.set("book","title","Python: The Hard Way")
config_writer.set("book","author","anon")
# 添加 ematter 节点和 pages 配置
config_writer.add_p("ematter")
config_writer.set("ematter","pages",250)
# 将配置信息输出到标准输出
config_writer.write(sys.stdout)
# 将配置文件输出到文件
config_writer.write(open('new_book.info','w'))

输出结果:

[book]title = Python: The Hard Wayauthor = anon[ematter]pages = 250

配置文件的更新

配置文件的更新操作,可以说是读取和写入的复合操作。如果没有最终的 write 操作,对于配置文件的读写都不会真正改变配置文件信息。

# !/usr/bin/python# coding:utf-8import ConfigParserimport sysreload(sys)sys.setdefaultencoding('UTF-8')# 初始化 ConfigParserupdate_config_parser = ConfigParser.ConfigParser()update_config_parser.read('new_book.info')print "p 信息:",update_config_parser.ps()# 更新作者名称print "原作者:",update_config_parser.get("book","author")# 更改作者姓名为 Jackupdate_config_parser.set("book","author","Jack")print "更改后作者名称:",update_config_parser.get("book","author")# 如果 ematter 节点存在,则删除if update_config_parser.has_p("ematter"):update_config_parser.remove_p("ematter")# 输出信息update_config_parser.write(sys.stdout)# 覆盖原配置文件信息update_config_parser.write(open('new_book.info','w'))

本文地址:https://www.lanol.cn/post/46.html
温馨提示:文章内容系作者个人观点,不代表Lan's Blog对观点赞同或支持。
版权声明:本文为转载文章,来源于 飞翔的花狸猫 ,版权归原作者所有,欢迎分享本文,转载请保留出处!
点赞
赞赏

PREVIOUS:python time常用格式化
NEXT:python pip国内镜像安装方法以及pycharm换源

文章导航


http://www.taodudu.cc/news/show-3081770.html

相关文章:

  • 狸猫的面试——链表
  • 狸猫哥哥和他的冬葵花
  • U-boot启动过程之——relocate_code分析
  • 移植Linux-3.4.2过程学习笔记1——串口打印乱码问题
  • 移植Linux-3.4.2过程学习笔记2——无法挂载根文件系统
  • 114 Three.js实现深度遮挡的下雨特效
  • IOS 笔记大全 (UI控件到网络协议)
  • iOS 笔记
  • iOS小笔记
  • 宫崎骏动画风格 美日动漫差异
  • 梨花落(短篇小说)
  • 洛谷 P1095 守望者的逃离
  • 雪花,是冬天凝固的泪
  • 关于金刚经
  • 帝企鹅日记(史上第二受欢迎记录片 老少皆宜的冰雪童话)
  • Cocos Creator | 挤水果小游戏实现 ( 二 )
  • 详解Unity中的粒子系统Particle System (三)
  • 浅谈cocos2d游戏中天气系统的简单实现
  • 概率与数理统计——概率
  • 概率与数理统计——中心极限定律
  • 学习matlab(四)——概率与数理统计
  • 深度学习数学基础介绍(二)概率与数理统计
  • 概率与数理统计5
  • 概率论与数理统计_陈希儒版_第一章:事件的概率
  • 徐小湛概率论与数理统计课件_概率论与数理统计-徐小湛-视频教程70讲
  • 概率与数理统计的发展前景
  • 概率与数理统计4
  • 概率与数理统计3
  • matlab 数理统计,(完整版)Matlab概率论与数理统计
  • 概率与数理统计2

Python 操作配置文件相关推荐

  1. python操作配置文件yaml数据读取数据写入

    YAML 语言:它实质上是一种通用的数据串行化格式 一.yaml基本语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格 缩进的空格数目不重要,只要相同层级的元素左侧 ...

  2. Oracle使用ini启动,python操作ini类型配置文件的实例教程

    一.ini文件介绍 INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中.这种配置文件的文件扩展名多为INI 二.ini ...

  3. kafka实战教程(python操作kafka),kafka配置文件详解

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 应用往Kafka写数据的原因有很多:用户行为分析.日志存储.异步通信等.多样化的使用场景带来了多样化的需求:消息是否能丢失?是否容忍重复?消息的吞吐量 ...

  4. Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  5. python读取配置文件存在某配置_Python读取配置文件(config.ini)以及写入配置文件

    一.读取配置文件 我的目录如下,在config下有一个config.ini配置文件 配置文件内容# 定义config分组 [config] platformName=Android appPackag ...

  6. Python操作MySQL之SQLAlchemy

    Python操作MySQL之SQLAlchemy 原文:https://www.cnblogs.com/ccorz/p/5711955.html SQLAlchemy是Python编程语言下的一款OR ...

  7. python yaml配置文件_python读取yaml配置文件

    支持多种语言:python.js.golang.java.c.c++ YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写.它实质上是一种通用的数据串行化格式. 它的基本语法规则如下 ...

  8. python操作mycat只操作主库【解决办法】

    python操作mycat只操作主库 测试: 1.将数据库配置成主从赋值,mycat实现读写分离: 2.使用python对数据库进行操作: 3.主从数据库都打开general_log,查看数据库查询日 ...

  9. python自动配置文件_【python接口自动化】- ConfigParser配置文件的使用

    前言:目前我们使用的绝大多数计算机程序,无论是办公软件,浏览器,甚至游戏.视频都是通过菜单界面系统配置的,它几乎成了我们使用机器的默认方式.而在python中,也有这样的一个配置模块可以把代码可配置化 ...

最新文章

  1. HTML JS 数据校验
  2. 奇怪的.strip(alir) #()里面有东西 待问老师........
  3. 校园二手交易平台的开发和利用
  4. 如何查询Linux内核版本
  5. LeetCode : Word Pattern
  6. 注册机patch起什么作用_单相电机的运行电容起什么作用
  7. 谷歌开源漏洞扫描器“海啸”,专为大型企业服务
  8. MySQL导出表结构
  9. 简要分析武汉一起好P2P平台的核心功能
  10. css权威指南——link
  11. wincc版本升级_wincc组态软件下载
  12. 图论及其应用 2017年期末考试 答案总结
  13. 怎么把两个pdf合并成一个?
  14. Python实现快速大文件比较代码解析
  15. 现在的小程序,商家凭什么入驻你!
  16. 查看Python版本和位数
  17. 握奇ukey没证书_握奇USB KEY
  18. Longest Continuous Increasing Subsequence(最长递增连续子序列)
  19. ViewData与ViewBag比较
  20. 模拟信号和数字信号讲堂(一),模拟信号和数字信号之模拟信号详解

热门文章

  1. webservice连接验证用户名密码
  2. 技术人才的核心竞争力有哪些?
  3. php记事,PHP记事(2)
  4. node-sass改dart-sass and 一些七七八八,实现sass主题色修改
  5. 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列哪个命令是对的?
  6. 【NISP一级】备考2021年11月常见易错题型整理
  7. 浅谈软件和信息技术服务业发展规划与数字化转型方法(第一稿)
  8. 备战Noip2018模拟赛3(B组) T2 Dance 开场舞蹈
  9. flutter 学习资源汇总
  10. 微信小程序直播功能来了,然后呢?