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使用lxml模块和Requests模块抓取HTML页面的教程
May 16 Python
浅谈Django REST Framework限速
Dec 12 Python
Numpy 改变数组维度的几种方法小结
Aug 02 Python
matplotlib实现热成像图colorbar和极坐标图的方法
Dec 13 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
树莓派升级python的具体步骤
Jul 05 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
Python爬虫制作翻译程序的示例代码
Feb 22 Python
Pytorch如何切换 cpu和gpu的使用详解
Mar 01 Python
Python激活Anaconda环境变量的详细步骤
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删除左端与右端空格的方法
2014/11/29 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
解密效果
2006/06/23 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
JavaScript实现点击出现子菜单效果
2021/02/08 Javascript
Python异常处理总结
2014/08/15 Python
python开发中range()函数用法实例分析
2015/11/12 Python
socket + select 完成伪并发操作的实例
2017/08/15 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
python变量的存储原理详解
2019/07/10 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
投标单位介绍信
2014/01/09 职场文书
党建示范点实施方案
2014/03/12 职场文书
投标诚信承诺书
2014/05/26 职场文书
幼师大班个人总结
2015/02/13 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
铁人观后感
2015/06/16 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python
手残删除python之后的补救方法
2021/06/26 Python
nginx共享内存的机制详解
2022/03/21 Servers
Spring中的@Transactional的工作原理
2022/06/05 Java/Android