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实现的二维码生成小软件
Jul 11 Python
Python实现list反转实例汇总
Nov 11 Python
python logging类库使用例子
Nov 22 Python
Python实现希尔排序算法的原理与用法实例分析
Nov 23 Python
详细解读tornado协程(coroutine)原理
Jan 15 Python
python距离测量的方法
Mar 06 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
python pygame模块编写飞机大战
Nov 20 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
python按比例随机切分数据的实现
Jul 11 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
python使用Word2Vec进行情感分析解析
Jul 31 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
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
asp 取文本框名称代码
2008/12/02 Javascript
Cookie 小记
2010/04/01 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
2018/05/06 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
Python Mysql自动备份脚本
2008/07/14 Python
python实现车牌识别的示例代码
2019/08/05 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
python源文件的字符编码知识点详解
2021/03/04 Python
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
德国苹果商店:MacTrade
2020/05/18 全球购物
终端业务员岗位职责
2013/11/27 职场文书
药剂专业自荐书
2014/06/20 职场文书
爱心捐书活动总结
2014/07/05 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
测量员岗位职责
2015/02/14 职场文书
财务出纳岗位职责
2015/03/31 职场文书
Java并发编程必备之Future机制
2021/06/30 Java/Android
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript