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对url格式解析的方法
May 13 Python
python3+dlib实现人脸识别和情绪分析
Apr 21 Python
python实现单链表中删除倒数第K个节点的方法
Sep 28 Python
Python基础学习之类与实例基本用法与注意事项详解
Jun 17 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
对Django url的几种使用方式详解
Aug 06 Python
pandas的相关系数与协方差实例
Dec 27 Python
python 常见的排序算法实现汇总
Aug 21 Python
python一些性能分析的技巧
Aug 30 Python
python3 re返回形式总结
Nov 20 Python
python使用numpy中的size()函数实例用法详解
Jan 29 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生成静态页
2006/11/25 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
srcElement表格样式
2006/09/03 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
2015/03/31 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
2021/02/20 Vue.js
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
成人大专生实习期的自我评价
2013/10/02 职场文书
民生工程实施方案
2014/03/22 职场文书
销售竞赛活动方案
2014/08/23 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
教师四风问题整改措施
2014/09/25 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
校运会新闻稿
2015/07/17 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技