Python模块之configpraser
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的更多相关文章
- 使用C/C++写Python模块
最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...
- Python模块之"prettytable"
Python模块之"prettytable" 摘要: Python通过prettytable模块可以将输出内容如表格方式整齐的输出.(对于用Python操作数据库会经常用到) 1. ...
- python 学习第五天,python模块
一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...
- windows下安装python模块
如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...
- 安装第三方Python模块,增加InfoPi的健壮性
这3个第三方Python模块是可选的,不安装的话InfoPi也可以运行. 但是如果安装了,会增加InfoPi的健壮性. 目录 1.cchardet 自动检测文本编码 2.lxml 用于解析 ...
- Python基础篇【第5篇】: Python模块基础(一)
模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就 ...
- python 模块加载
python 模块加载 本文主要介绍python模块加载的过程. module的组成 所有的module都是由对象和对象之间的关系组成. type和object python中所有的东西都是对象,分为 ...
- pycharm安装python模块
这个工具真的好好,真的很喜欢,它很方便,很漂亮,各种好 pycharm安装python模块:file-setting-搜索project inte OK
- Python模块常用的几种安装方式
Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...
随机推荐
- 移动端重要的几个CSS3属性设置
去掉点击链接和文本框对象的半透明覆盖(iOS)或者虚框(Android) -webkit-tap-hightlight-color:rgba(0,0,0,0); 禁用长按页面时弹出菜单(iOS下有效) ...
- git提示:Fatal:could not fetch refs from ....
在git服务器上新建项目提示: Fatal:could not fetch refs from git..... 百度搜索毫无头绪,最后FQgoogle,找到这篇文章http://www.voidcn ...
- PHP 进程详解
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...
- 1015: [JSOI2008]星球大战starwar
1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MB Description 很久以前,在一个遥远的星系,一个黑暗的帝国 ...
- PHPCMS调用点击量的方法
具体方法: 首先:需要在show.html 模板中首先加载jquery.min.js 这个js 其次:需要在要显示点击次数的位置写入: <span>点击:<span id=" ...
- [asp.net core] Tag Helpers 简介(转)
原文地址 https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro What are Tag Helpers? ...
- mysql中Invalid default value for 'stime'问题
在执行mysql数据库时报错 CREATE TABLE `advert_schedule_time` ( `advert_id` int(11) NOT NULL DEFAULT '0' COMMEN ...
- 网页插件学javascript还是jquery好啊?
文章的起因,也是在群内交流是回答一个小伙的问题,一扯就停不下来,但由于个人知识面覆盖有限,自身基础又不够扎实,仅供参考: 问这个问题之前,我个人建议先搞清什么是jquery,什么是js? jq ...
- 关于java中自增,自减,和拓展运算符的小讨论
java中运算符很多,但是能深入讨论的不算太多.这里我仅仅以++,*=为例做讨论. 例:++ i=0; i=i++ + ++i;//i=1 i=++i+i++;//i=2 i=i++ -++i;//i ...
- 基于Lease分布式系统重试服务选举
/** * Copyright (c) 2015, www.cubbery.com. All rights reserved. */ package com.cubbery.event.retry; ...