在平时的工程中,我们在构建工程时,常常需要用到配置文件,用来配置项目的一些信息,比如数据库,请求网址,文件夹,线程、进程数等信息,这样就可以方便我们通过修改配置文件中的参数来很好地完成整个项目的功能修改或开发。配置文件一般区别于Python代码,会单独存放在一个文件夹中,方便管理,常见的配置文件格式有.conf, .ini, .yaml等。

  本文使用Python中的configparser模块来处理conf、ini配置文件。

  首先需要安装configparser模块,命令如下:

pip3 install configparser

  我们以下面的具体工程为例,来讲述如何使用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爬虫与算法(微信号为:easy_web_scrape), 欢迎大家关注~

最新文章

  1. ASP.NET Core 中文文档 第四章 MVC(3.4)如何使用表单
  2. Linux 系统中的MySQL数据库默认区分大小写
  3. [速记!vs调试技巧]
  4. ios下fixed回复框bug的解决方案
  5. 【Ngui 学习系列之一:简单组件的操作】
  6. JS-计算器制作
  7. Android_Spinner_Listener
  8. JAVA访问配置文件总结
  9. Android(java)学习笔记262:JNI之工具快速开发步骤
  10. Java集合源码分析(四)HashMap
  11. JavaScript ES6 module 模块
  12. 微信小程序的MVVM思想
  13. multiply对应位置相乘 与 dot矩阵乘
  14. laravel 常用命令
  15. poj2391
  16. smtp常见问题
  17. 洛谷P3275 [SCOI2011]糖果(差分约束,最长路,Tarjan,拓扑排序)
  18. /usr/bin/python: can't decompress data; zlib not available 的异常处理
  19. python循环删除列表里的元素!漏删!
  20. fatal: Authentication failed for又不弹出用户名和密码 解决办法

热门文章

  1. C语言中的“>>”和“
  2. IO流4
  3. 非web下的PowerMockito单元测试
  4. 七牛云qshell工具定时备份空间文件到本地
  5. Linux基础文件类型
  6. go 学习笔记之走进Goland编辑器
  7. 【原创】POI操作Excel导入导出工具类ExcelUtil
  8. 使用抽象工厂反射获取不到Dal层对象,未能加载文件或程序集......
  9. Axure 使用 简单入门
  10. CSS等分布局方法