Python配置文件处理的方法教程


Posted in Python onAugust 29, 2019

前言

在平时的工程中,我们在构建工程时,常常需要用到配置文件,用来配置项目的一些信息,比如数据库,请求网址,文件夹,线程、进程数等信息,这样就可以方便我们通过修改配置文件中的参数来很好地完成整个项目的功能修改或开发。配置文件一般区别于Python代码,会单独存放在一个文件夹中,方便管理,常见的配置文件格式有.conf, .ini, .yaml等。

本文使用Python中的configparser模块来处理conf、ini配置文件。

首先需要安装configparser模块,命令如下:

pip3 install configparser

我们以下面的具体工程为例,来讲述如何使用Python如何工程中的配置文件,项目结构如下图:

Python配置文件处理的方法教程

该项目中只有两个文件,一个为mysql.conf,是MySQL的连接配置;另一个是Python代码,用于读取某张表的具体内容。

其中mysql.conf文件的内容如下:

[mysql]
db_host=localhost
db_port=3306
db_user=root
db_password=
db_database=school

里面的[mysql]是select,类似于HTML中的select(下拉菜单),下面的几行为option,规定了数据库的连接信息,包括host、port、user、password以及database。

接着是mysql_test.py,完整的代码内容如下:

# -*- coding:utf-8 -*-
# time: 2019-08-28
# place: Daxing Beijing

from configparser import ConfigParser
import pymysql

cp = ConfigParser()
cp.read('mysql.conf')

host = cp.get("mysql", "db_host")
port = cp.getint("mysql", "db_port")
user = cp.get("mysql", "db_user")
password = cp.get("mysql", "db_password")
database = cp.get("mysql", "db_database")

# 打开数据库连接
db = pymysql.connect(host=host,
           port=port,
           user=user,
           password=password,
           db=database
           )

# 使用cursor()方法创建一个游标对象: cursor
cursor = db.cursor()

# 使用execute()方法执行SQL语句并输出结果
cursor.execute("select * from employee")

for row in cursor.fetchall():
  print(row)

# 关闭游标对象
cursor.close()

# 关闭数据库连接
db.close()

在该文件中,我们使用configparser模块解析出mysql.conf文件中MySQL数据库的连接方式,并使用pymysql模块获取school数据库中employee表的全部数据。输出的结果如下:

('mac', 'mohan', 20, 'm', 2000.0, datetime.date(2019, 9, 1))
('alex', 'ben', 24, 'f', 2500.0, datetime.date(2012, 8, 9))

让我们看一眼MySQL中这张表的内容,如下图:

Python配置文件处理的方法教程

以上为示例项目的演示内容。

使用配置文件,在工程的构建中,无疑是重要且方便的,因此,在实际的工程实践中,也应该多多使用配置文件,希望本文的内容能对大家的工作有所帮助~

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python代码检查工具pylint 让你的python更规范
Sep 05 Python
Python提取网页中超链接的方法
Sep 18 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
Python操作Sql Server 2008数据库的方法详解
May 17 Python
selenium3+python3环境搭建教程图解
Dec 07 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
Apr 26 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
浅谈TensorFlow中读取图像数据的三种方式
Jun 30 Python
解析python 类方法、对象方法、静态方法
Aug 15 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
python标准库ElementTree处理xml
May 20 Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 #Python
python 进程的几种创建方式详解
Aug 29 #Python
python 列表推导式使用详解
Aug 29 #Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 #Python
解决Django连接db遇到的问题
Aug 29 #Python
Python pandas实现excel工作表合并功能详解
Aug 29 #Python
python openCV获取人脸部分并存储功能
Aug 28 #Python
You might like
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
jquery 获取json数据实现代码
2009/04/27 Javascript
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
javascript读写json示例
2014/04/11 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
JS数组合并push与concat区别分析
2015/12/17 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
任命书范本大全
2014/06/06 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
党员民主评议总结
2014/10/20 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书