文档章节

python中配置文件的使用

o
 osc_0m4ypdo1
发布于 2018/07/11 15:39
字数 459
阅读 15
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

一. 什么是配置文件?为什么要做配置文件?

将所有的代码和配置都变成模块化可配置化,这样就提高了代码的重用性,不再每次都去修改代码内部,这个就是我们逐步要做的事情,可配置化

 

二. python中的ConfigParser类

模块:from configparser import ConfigParser

 

configparser是Python自带的模块,用法如下:

1. 创建ConfigParser对象。并调用read()函数打开配置文件,里面填的参数是地址

2. 配置文件的格式是:[]包含的叫section,section下有option=value这样的键值

3. 常用配置函数如下

sections()  得到所有的section,并以列表的形式返回

options(section)  得到该section的所有option (key值)

items(section)  得到该section的所有键值对

get(section, option)  得到section中option的值,返回为string类型,指定标签下面的key对应的value值

getint(section, option)  得到section中的option值,返回为int类型

 

add_section()  往配置文件中添加section

set(section, name, value)  在section下设置name=value

with open(configfile) as cfile:

  write(cfile)

将新增的配置信息写入到文件中

 

三. 实例

1. 在lesson_config包下创建一个配置文件db.cfg和一个py文件config_operate.py

2. db.cfg的内容为

[mysql_db_test]
host=localhost
port=3306
db=mysql
user=root
passwd=123456

3. config_operate.py的内容为

from configparser import ConfigParser

#初始化类
cp = ConfigParser()
cp.read("db.cfg")

#得到所有的section,以列表的形式返回
section = cp.sections()[0]
print(section)

#得到该section的所有option
print(cp.options(section))

#得到该section的所有键值对
print(cp.items(section))

#得到该section中的option的值,返回为string类型
print(cp.get(section, "db"))

#得到该section中的option的值,返回为int类型
print(cp.getint(section, "port"))

运行结果

mysql_db_test
['host', 'port', 'db', 'user', 'passwd']
[('host', 'localhost'), ('port', '3306'), ('db', 'mysql'), ('user', 'root'), ('passwd', '123456')]
mysql
3306

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: <TextView 运行效果如下: 修改其文本内容...

樂天
2014/03/22
580
1
CDH5: 使用parcels配置lzo

一、Parcel 部署步骤 1 下载: 首先需要下载 Parcel。下载完成后,Parcel 将驻留在 Cloudera Manager 主机的本地目录中。 2 分配: Parcel 下载后,将分配到群集中的所有主机上并解压缩。 3 激...

cloud-coder
2014/07/01
6.8K
1
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
6
代码生成器--Codgen

Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节...

黄天政
2013/01/29
1.4W
2
漏洞检测工具--Peach Fuzzer

Peach是一种用Python编写的 Fuzzer。这种工具有助于发现并公开许多漏洞,并认为是黑客和安全团体中最流行的工具之一。为了利用Peach框架,必须创建Phthon脚本,脚本 中包含了在服务器上执行的...

匿名
2013/02/06
8.7K
1

没有更多内容

加载失败,请刷新页面

加载更多

如何在TextView中将文本水平和垂直居中? - How do I center text horizontally and vertically in a TextView?

问题: 如何在TextView水平和垂直居中放置文本,以使其准确显示在Android TextView的中间? 解决方案: 参考一: https://stackoom.com/question/1oOL/如何在TextView中将文本水平和垂直居中...

javail
今天
19
0
在新标签页(而不是新窗口)中打开URL - Open a URL in a new tab (and not a new window)

问题: I'm trying to open a URL in a new tab, as opposed to a popup window. 我正在尝试在新选项卡(而不是弹出窗口)中打开URL 。 I've seen related questions where the responses wo......

富含淀粉
今天
17
0
HTML中id属性的有效值是什么? - What are valid values for the id attribute in HTML?

问题: 为HTML元素创建id属性时,该值有哪些规则? 解决方案: 参考一: https://stackoom.com/question/IMN/HTML中id属性的有效值是什么 参考二: https://oldbug.net/q/IMN/What-are-vali...

法国红酒甜
今天
25
0
mysql innodb 可重复 幻读问题

1 mvcc 解决快照读幻读 2 GAP 锁解决 当前读幻读 (insert时 插入意向锁会等待GAP锁)

yzzzzzzzz
今天
25
0
画风清奇,用开源机器人项目实现“云毕业典礼”

本文作者:o****0 前几天,南京邮电大学的一场毕业典礼引起了吃瓜群众的热议,先来看看这个画风: 由于疫情原因,很多高校的学生只能在家里通过线上视频的方式完成毕业论文答辩。答辩通过后,...

百度开发者中心
07/31
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部