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检测lvs real server状态
Jan 22 Python
在Python中操作字典之update()方法的使用
May 22 Python
python常用函数详解
Sep 13 Python
python3实现SMTP发送邮件详细教程
Jun 19 Python
python游戏地图最短路径求解
Jan 16 Python
python笔记_将循环内容在一行输出的方法
Aug 08 Python
python机器学习实现决策树
Nov 11 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
python 绘制场景热力图的示例
Sep 23 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 Python
python实现学生通讯录管理系统
Feb 25 Python
Pygame Time时间控制的具体使用详解
Nov 17 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的access操作类
2008/04/09 PHP
php 接口类与抽象类的实际作用
2009/11/26 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
数理公式,也可以这么唯美
2021/03/10 无线电
js获取单选按钮的数据
2006/11/27 Javascript
用 JSON 处理缓存
2007/04/27 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
extjs render 用法介绍
2013/09/11 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
django 单表操作实例详解
2019/07/30 Python
Python如何调用JS文件中的函数
2019/08/16 Python
Python递归函数特点及原理解析
2020/03/04 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
学习全国两会精神心得体会范文
2014/03/17 职场文书
学生会主席演讲稿
2014/04/25 职场文书
元旦趣味活动方案
2014/08/22 职场文书
教师听课学习心得体会
2016/01/15 职场文书