1. configparser模块
    功能:用于生成和修改常见配置文件。
    基本常用方法如下:

read(filename):直接读取配置文件
write(filename):将修改后的配置文件写入文件中。
defaults():返回全部示例中所有defaults
sections():得到所有的section,并以列表的形式返回
items(section):得到该section的所有键值对
has_section(section):检查是否有section,有返回True,无返回False
has_option(section,option):检查section下是否有指定的option,有返回True,无返回False
getint(section,option):得到section中option的值,返回为int类型
get(section,option):得到section中option的值,返回为string类型
getboolean(section,option):得到section中option的值,返回为boolean类型
getfloat(section,option):得到section中option的值,返回为float类型
add_section(section):添加一个新的section
remove_section(section):删除某个section
options(section):得到该section的所有option
set(section,option,value):对section中的option进行设置,需要调用write将内容写入配置文件
remove_option(section,option):删除某个section下的option

  1.  
  1. 能处理的配置文件格式如下:
    [mysql] #节点名
    =
  1. 举例1:自动生成一个配置文件
  1. import configparser
  2. # 自动生成配置文件
  3. cfg = configparser.ConfigParser()
  4. # 创建一个全局配置
  5. cfg['DEFAULT'] = {
  6. 'ServerAliveInterval':'',
  7. 'Compression':'yes',
  8. 'CompressionLevel':''
  9. }
  10. #创建局部配置
  11. cfg['bitbucket.org'] = {}
  12. cfg['bitbucket.org']['User'] = 'hg'
  13. cfg['topsecret.server.com'] = {}
  14. topsecret = cfg['topsecret.server.com']
  15. topsecret['host port'] = ''
  16. topsecret['ForwardX11'] = 'no'
  17. cfg['DEFAULT']['ForwardX11'] = 'yes'
  18. # 配置完成,重写文件
  19. with open('example.ini','w') as f:
  20. cfg.write(f)
  1. ###以下进行配置文件的 增/删/改/查 功能实例
  1. 先导入模块读取配置文件
    import configparser
    cfg = configparser.ConfigParser()
    # 读取配置文件
    cfg.read('example.ini',encoding='utf-8')
    # 提取所有第一层节点信息以列表打印
    info = cfg.sections()
    print(info)
  1. -- 操作
  1. # 判断节点是否存在
  2. sec = cfg.has_section('name')
  3. # 判断节点下的text键是否存在
  4. sec = cfg.has_option('name','text')
  5. # 增加节点操作
  6. sec = cfg.add_section('name')
  1. -- 修改/增加 为节点增加或修改一行数据 操作
  1. cfg.set('name','text','jeck')
  2. cfg.write(open('examp2.ini','w'))
  1. -- 操作
  1. # 删除bitbucket.org节点所有数据
  2. sec = cfg.remove_section('bitbucket.org')
  3. cfg.write(open('examp1.ini','w'))
  4. # 删除节点下一行数据
  5. sec = cfg.remove_option('topsecret.server.com','host port')
  6. cfg.write(open('examp2.ini','w'))
  1. -- 操作
  1. # 单独打印default信息
  2. print(cfg.defaults())
  3. # 以元组列表形式打印指定节点下所有信息(会连带默认打印default信息)
  4. print(cfg.items('bitbucket.org'))
  5. # 查找打印匹配信息
  6. print(cfg['bitbucket.org']['user']) 类似于 print(cfg.get('bitbucket.org','user'))
  7. print(cfg['DEFAULT']['forwardx11'])
  8. section_name = cfg.sections()[1]
  9. print(cfg[section_name]['host port'])
  10. # 循环打印指定节点下所有信息
  11. for k,v in cfg[section_name].items():
  12. print(k,v)
  13.  
  14. # 打印指定节点和默认节点所有的Key
  15. print(cfg.options('topsecret.server.com'))
  16. for k,v in cfg.items('topsecret.server.com'):
  17. print(k,v)

python学习之 - configparser模块的更多相关文章

  1. python学习 day19 configparser模块 os模块 subprocess模块

    上周五回顾 logging 用于记录日志 四种核心角色: 生成器Logger 过滤器Filter 处理器Handler 格式化处理器 Formatter logging.info.debug 使用默认 ...

  2. Python学习 Part4:模块

    Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...

  3. python:利用configparser模块读写配置文件

    在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...

  4. python学习之argparse模块

    python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...

  5. Python 标准库 ConfigParser 模块 的使用

    Python 标准库 ConfigParser 模块 的使用 demo #!/usr/bin/env python # coding=utf-8 import ConfigParser import ...

  6. Python学习day19-常用模块之re模块

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  7. Python学习day18-常用模块之NumPy

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  8. Python学习笔记-常用模块

    1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...

  9. Python自动化测试 (二) ConfigParser模块读写配置文件

    ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section,    section 下有op ...

随机推荐

  1. flutter基础

    1.flutter安装 1.参考官网安装sdk https://flutter.io/get-started/install 安卓和IOS需要分别配置对应的开发环境,安卓建议使用as开发,安装Flut ...

  2. Js学习文件上传

    // 文件上传 jQuery(function() { var $ = jQuery, $list = $('#thelist'), $btn = $('#ctlBtn'), state = 'pen ...

  3. PMP项目管理学习笔记(10)——范围管理之收集需求

    一个星期没看书,没记录笔记,没能坚持下来,感觉好罪过.现在我要重新上路! 收集需求 收集需求就是与项目的所有干系人坐在一起,得出他们的需求是什么,这就是收集需求过程中要做的事情.你的项目要想成功,你就 ...

  4. vSphere Client用户名密码保存记录

    vSphere Client在访问ESXi主机或vCenter后是默认不保存登录用户名和密码的,不过可以通过修改配置文件来保存,方便访问连接. 方法如下: 打开配置文件路径(实际安装路径):D:\Pr ...

  5. (四)docker创建私人仓库

    (一) 简介 仓库(Repository)是集中存放镜像的地方.仓库可以 被认为是一个具体的项目或目录.例如对于仓库地址 docker.sina.com.cn/centos:centos63 来说,d ...

  6. TensorFlow低阶API(三)—— 变量

    简介 TensorFlow变量是表示程序处理的共享持久状态的最佳方法. 我们使用tf.Variable类操作变量.tf.Variable表示可通过其运行操作来改变其值的张量.与tf.Tensor对象不 ...

  7. 在window下搭建即时即用的hyperledger fabric 的环境

    有版本号的严格按要求,遇到不少坑 1)安装git  版本无要求 2)安装go  1.9   配置环境变量 3)安装Vagrant  1.9.4 4)安装VirtualBox  5.1.28 5)在go ...

  8. Echarts 异步数据加载遇到的问题

    看了Echarts官网异步加载数据的Demo var myChart = echarts.init(document.getElementById('main')); // 显示标题,图例和空的坐标轴 ...

  9. LinkedHashMap/HashMap(数҉据҉缓҉存҉准҉备҉)

    顾名思义LinkedHashMap是比HashMap多了一个链表的结构.与HashMap相比LinkedHashMap维护的是一个具有双重链表的HashMap,LinkedHashMap支持2中排序一 ...

  10. 内存区--Java

    一.概述 对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题 ...