python模块详解 YAML和configparser
YAML模块
主要用来做配置文件用的。
yaml格式:

详细参考官方文档:PyYAML
configparser模块
同样是用于生成和修改配置文件用的。格式和mysql一样。
生成配置文件
import configparser config = configparser.ConfigParser() #生成对象
config['DEFAULT'] = {'Server1':'45', #每一个块的属性可以直接写字典
'Server2':"50",
'Server3':'51'
}
config['chunk1']={} #
config['chunk1']['property1']='abc' config['chunk2']={}
chunk2 = config['chunk2']
chunk2['property1'] = '50'
chunk2['property2'] = '190'
with open('conf.ini','w')as configfile:
config.write(configfile)
生成后的文件
[DEFAULT]
server1 = 45
server2 = 50
server3 = 51 [chunk1]
property1 = abc [chunk2]
property1 = 50
property2 = 190
读配置文件
import configparser
config = configparser.ConfigParser()
config.read('conf.ini')
print(config.sections()) #['chunk1', 'chunk2']
sections()方法默认不打印 DEFAULT这个块。
读某个块下的某一个属性
print(config['chunk1']['property1']) #abc
print(config.get('chunk1','property1')) #abc 第一个参数是块 第二个参数是属性的Keys
print(config.getint('chunk2','propertya1')) #50 这个value必须是一个数字
打印DEFAULT下的每一项
print(config.defaults()) #[('server1', '45'), ('server2', '50'), ('server3', '51')]
读某一块下的keys 并返回DEFAULT这一块下的所有属性 返回一个列表
print(config.options('chunk1'))#['property1', 'server1', 'server2', 'server3']
读某一块下的属性 并返回DEFAULT这一块下的所有属性 属性的key和value作为一个元组 返回一个列表
print(config.items('chunk1'))#[('server1', '45'), ('server2', '50'), ('server3', '51'), ('property1', 'abc')]
删除某一块属性
config.remove_section('chunk1') #删除一个块
config.write(open('conf.ini','w')) #重新写入文件
python模块详解 YAML和configparser的更多相关文章
- python模块详解 | selenium(持续更新中)
目录: 关于selenium Selenium 安装Selenium 安装浏览器驱动 配置环境变量 selenium方法详解 定位元素 元素操作 浏览器操作 鼠标事件 浏览器事件 设置元素等待 多表单 ...
- python模块详解 random os
random模块 常用方法 random.random() 随机产生一个小于1的浮点数 import random print(random.random()) #0.4153761818276826 ...
- python模块详解
什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.p ...
- python模块详解 sys shutil
sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sy ...
- python模块详解 | shutil
简介: shutil是python的一个内置模块,提供了许多关于文件和文件集合的高级操作,特别提供文件夹与文件操作.归档操作了支持文件复制和删除的功能. 文件夹与文件操作: copyfileobj(f ...
- 小白的Python之路 day5 python模块详解及import本质
一.定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test) 包:用来从逻辑上组织模块 ...
- Python 模块详解及import本质
同在当前目录下的模块和包导入 模块定义 本质就是.py结尾的python文件. 用来从逻辑上组织python代码(变量,函数,类,逻辑) 文件名: test.py; 对应的模块名 : test 模块 ...
- Python模块详解以及import本质,获得文件当前路径os.path.abspath,获得文件的父目录os.path.dirname,放到系统变量的第一位sys.path.insert(0,x)
模块介绍 1.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test) 包:用来从逻 ...
- python模块详解 logging
打印日志的五个级别: import logging logging.debug('test debug') logging.info('test info') logging.warning('tes ...
随机推荐
- java 的开发工具IDEA使用 中Debug 调试工具使用
IDEA JetBrains(这个公司的名称翻译过来就是“大脑喷射?”) 公司的宣传语是这么说的:Develop with pleasure!(带着快乐开发!) 话不多说 开始debug 1, ...
- CRF++使用步骤
1.将CRF++文件的压缩包解压后添加到java的工程目录下 2.使用前必须生成train.data和test.data 文件并放到crf_learn.exe的同级目录下 3.cmd进入目标位置,其中 ...
- linux安装php7
之前一直对linux研究的比较少,终于下定决心好好把linux玩一下 首先~我是安装了vm虚拟机,然后使用的是centos7的版本.因为vm不好复制粘贴,故使用了xshell连接了我的linux进行操 ...
- Linux学习grep,sed,awk工具的使用
1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求 ...
- Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(centos6.9) at 14:59:05.
查找网上资料解决方法如下 [root@localhost ssh]# service sshd start Starting sshd: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- 1.5 GO json转Map
使用GO将show slave status查询返回的json串转为Map类型 package main import ( "encoding/json" "fmt&qu ...
- Unable to verify your data submission.加入了_csrf也报400错误的解决
<input type="hidden" name="_csrf" value="<?=Yii::$app->request-> ...
- 输入http://localhost/,apache出现You don't have permission to access/on this server.的提示,如何解决?
本地搭建wamp,输入http://127.0.0.1访问正常,当输入http://localhost/,apache出现You don't have permission to access/on ...
- shell 0学习
例一:列出/home 文件夹下的所有文件和目录的详细资料,可以使用如下命令: ls -a -l /home ls -al /home 例二:列出当前目录中所有以”d”开头的文件目录的详细内容,可 ...
- eclipse 分屏显示同一文件
某个类很大,可能有数千行.当你想要将类开头部分与中间或者靠后的部分进行对比时,请follow如下步骤: Window -> Editor -> Toggle Split Editor (C ...