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 相关文章推荐
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
Nov 03 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
浅谈flask中的before_request与after_request
Jan 20 Python
浅析PHP与Python进行数据交互
May 15 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
Python单元测试与测试用例简析
Nov 09 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
python3爬虫中异步协程的用法
Jul 10 Python
Python为何不支持switch语句原理详解
Oct 21 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
Nov 24 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 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下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
php中iconv函数使用方法
2008/05/24 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
django如何连接已存在数据的数据库
2018/08/14 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
2019/08/05 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
如何基于python实现不邻接植花
2020/05/01 Python
Python控制台实现交互式环境执行
2020/06/09 Python
Python如何读写CSV文件
2020/08/13 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
法国体育用品商店:GO Sport
2019/10/23 全球购物
优秀团员个人的自我评价
2013/10/02 职场文书
单位门卫岗位职责
2013/12/20 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
青年文明号申报材料
2014/12/23 职场文书
文化苦旅读书笔记
2015/06/29 职场文书
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript