Python模块之configpraser

 

一. configpraser简介

  用于处理特定格式的文件,其本质还是利用open来操作文件。

  配置文件的格式:

    使用"[]"内包含section,section下为类似key-value的配置内容(例如:samba配置文件)

G:\Python项目实战\模块\configparser>start example.txt   #基于windows平台

# 注释1
;注释2 [global] #节点
workgroup = WORKGROUP #值(key-value)
security = share
maxlog = 50 [public]
comment = stuff
public = True
pi = 3.1415926

二. configpraser初始化

  使用时必须先初始化并读取配置文件

import configparser

config = configparser.ConfigParser()
config.read('example.txt',encoding='utf-8')

三. configpraser常用方法

  1. 获取所有节点:

ret = config.sections()  #读取配置文件里所有的"[]"信息
print(ret) #输出: ['global', 'public']

  2. 获取指定节点下的所有键值对:

ret = config.items('global')#获取指定节点的所有键值对
print(ret) #输出: [('workgroup', 'WORKGROUP'), ('security', 'share'), ('maxlog', '')]

  3. 获取指定节点下的所有键:

ret = config.options('public')#指定节点下的所有键
print(ret) #输出: ['comment', 'public', 'pi']

  4. 获取指定节点下指定key的值:

ret = config.get('global','workgroup')#获取指定节点下key的值
# ret = config.getint('global','maxlog')#获取指定节点下key值,必须为整数否则报错
# ret = config.getfloat('public','pi')#获取指定节点下key值,必须为浮点数否则报错
# ret = config.getboolean('public','public')#获取指定节点下key值,必须为布尔值否则报错
print(ret)

  5. 检查,添加,删除节点

#检查
check = config.has_section('global') #检查此节点下是否有值,返回布尔值
print(check)
#输出:
True #添加节点
config.add_section('local') #添加到内存
config.write(open('example.txt','w')) #写入文件中
ret = config.sections()
print(ret)
#输出:
['global', 'public', 'local'] #删除节点
config.remove_section('local') #删除节点
config.write(open('example','w'))#重新写入文件
ret = config.sections()
print(ret)
#输出:
['global', 'public']

  6. 检查,删除,设置指定组内的键值对

#检查
check = config.has_option('public','comment')#检查节点下的某个键,返回布尔值
print(check)
输出:
True #删除
config.remove_option('global','workgroup')
config.write(open('example.txt','w'))
ret = config.options('global')
print(ret)
#输出:
['security', 'maxlog'] #设置指定节点内的键值对
ret1 = config.get('global','maxlog')
print(ret1)
config.set('global','maxlog','')
config.write(open('example.txt','w'))
ret2 = config.get('global','maxlog')
print(ret2) #输出:
50
100

Python模块之configpraser的更多相关文章

  1. 使用C/C++写Python模块

    最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...

  2. Python模块之"prettytable"

    Python模块之"prettytable" 摘要: Python通过prettytable模块可以将输出内容如表格方式整齐的输出.(对于用Python操作数据库会经常用到) 1. ...

  3. python 学习第五天,python模块

    一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...

  4. windows下安装python模块

    如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...

  5. 安装第三方Python模块,增加InfoPi的健壮性

    这3个第三方Python模块是可选的,不安装的话InfoPi也可以运行. 但是如果安装了,会增加InfoPi的健壮性. 目录 1.cchardet    自动检测文本编码 2.lxml    用于解析 ...

  6. Python基础篇【第5篇】: Python模块基础(一)

    模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就 ...

  7. python 模块加载

    python 模块加载 本文主要介绍python模块加载的过程. module的组成 所有的module都是由对象和对象之间的关系组成. type和object python中所有的东西都是对象,分为 ...

  8. pycharm安装python模块

    这个工具真的好好,真的很喜欢,它很方便,很漂亮,各种好 pycharm安装python模块:file-setting-搜索project inte OK

  9. Python模块常用的几种安装方式

    Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...

随机推荐

  1. 移动端重要的几个CSS3属性设置

    去掉点击链接和文本框对象的半透明覆盖(iOS)或者虚框(Android) -webkit-tap-hightlight-color:rgba(0,0,0,0); 禁用长按页面时弹出菜单(iOS下有效) ...

  2. git提示:Fatal:could not fetch refs from ....

    在git服务器上新建项目提示: Fatal:could not fetch refs from git..... 百度搜索毫无头绪,最后FQgoogle,找到这篇文章http://www.voidcn ...

  3. PHP 进程详解

    .note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...

  4. 1015: [JSOI2008]星球大战starwar

    1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MB Description 很久以前,在一个遥远的星系,一个黑暗的帝国 ...

  5. PHPCMS调用点击量的方法

    具体方法: 首先:需要在show.html 模板中首先加载jquery.min.js 这个js 其次:需要在要显示点击次数的位置写入: <span>点击:<span id=" ...

  6. [asp.net core] Tag Helpers 简介(转)

    原文地址 https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro What are Tag Helpers? ...

  7. mysql中Invalid default value for 'stime'问题

    在执行mysql数据库时报错 CREATE TABLE `advert_schedule_time` ( `advert_id` int(11) NOT NULL DEFAULT '0' COMMEN ...

  8. 网页插件学javascript还是jquery好啊?

    文章的起因,也是在群内交流是回答一个小伙的问题,一扯就停不下来,但由于个人知识面覆盖有限,自身基础又不够扎实,仅供参考: 问这个问题之前,我个人建议先搞清什么是jquery,什么是js?     jq ...

  9. 关于java中自增,自减,和拓展运算符的小讨论

    java中运算符很多,但是能深入讨论的不算太多.这里我仅仅以++,*=为例做讨论. 例:++ i=0; i=i++ + ++i;//i=1 i=++i+i++;//i=2 i=i++ -++i;//i ...

  10. 基于Lease分布式系统重试服务选举

    /** * Copyright (c) 2015, www.cubbery.com. All rights reserved. */ package com.cubbery.event.retry; ...