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 相关文章推荐
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
Pycharm以root权限运行脚本的方法
Jan 19 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
python3获取当前目录的实现方法
Jul 29 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
Aug 02 Python
python接口自动化如何封装获取常量的类
Dec 24 Python
PyQt5中多线程模块QThread使用方法的实现
Jan 31 Python
python继承threading.Thread实现有返回值的子类实例
May 02 Python
python实现图片批量压缩
Apr 24 Python
对PyTorch中inplace字段的全面理解
May 22 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
BBS(php & mysql)完整版(五)
2006/10/09 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
jquery select操作的日期联动实现代码
2009/12/06 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
jQuery Easyui 下拉树组件combotree
2016/12/16 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
省三好学生申请材料
2014/01/22 职场文书
大学校运会广播稿
2014/02/03 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
刑事法律意见书
2015/06/04 职场文书
九九重阳节致辞
2015/07/31 职场文书
新兵入伍决心书
2015/09/22 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js