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实现扫描局域网活动ip(扫描在线电脑)
Apr 28 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
python中利用xml.dom模块解析xml的方法教程
May 24 Python
python2.7到3.x迁移指南
Feb 01 Python
python深度优先搜索和广度优先搜索
Feb 07 Python
TensorFlow入门使用 tf.train.Saver()保存模型
Apr 24 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
python图形工具turtle绘制国际象棋棋盘
May 23 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
Jun 02 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
Mar 23 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 小乘法表实现代码
2009/07/16 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
对Python 数组的切片操作详解
2018/07/02 Python
python调用摄像头显示图像的实例
2018/08/03 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
python的re模块使用方法详解
2019/07/26 Python
python文字转语音的实例代码分析
2019/11/12 Python
python实现XML解析的方法解析
2019/11/16 Python
python批量修改xml属性的实现方式
2020/03/05 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
实习生自我鉴定范文
2013/12/05 职场文书
中学家长会邀请函
2014/01/17 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
管理失职检讨书范文
2015/05/05 职场文书
公司食堂管理制度
2015/08/05 职场文书
Linux中如何安装并部署Redis
2022/04/18 Servers