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 相关文章推荐
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 Python
在Django框架中运行Python应用全攻略
Jul 17 Python
Python读大数据txt
Mar 28 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
python 正确保留多位小数的实例
Jul 16 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
python logging日志模块原理及操作解析
Oct 12 Python
Python本地及虚拟解释器配置过程解析
Oct 13 Python
用Python制作音乐海报
Jan 26 Python
用python制作个视频下载器
Feb 01 Python
浅谈怎么给Python添加类型标注
Jun 08 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+java实现自动新闻滚动窗口
2006/10/09 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
js 计算图片内点个数的示例代码
2019/04/04 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
使用Python求解最大公约数的实现方法
2015/08/20 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
通过代码实例了解Python异常本质
2020/09/16 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
大一期末自我鉴定
2013/12/13 职场文书
班组长安全职责
2014/01/05 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
婚礼父母致辞
2015/07/28 职场文书
建议书的格式及范文
2015/09/14 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
成人成长感言如何写?
2019/08/16 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python
Flask response响应的具体使用
2021/07/15 Python