• Python之配置文件处理


      在平时的工程中,我们在构建工程时,常常需要用到配置文件,用来配置项目的一些信息,比如数据库,请求网址,文件夹,线程、进程数等信息,这样就可以方便我们通过修改配置文件中的参数来很好地完成整个项目的功能修改或开发。配置文件一般区别于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), 欢迎大家关注~

  • 相关阅读:
    Git笔记
    Android笔记
    个人人生警示
    Java 注解
    JAVA面试题
    kotlin学习笔记
    Android Studio之gradle和gradle插件
    gcc在Linux下编译so文件出错 jni.h: no such file or directory
    apktool新官网地址
    Vim 使用记录
  • 原文地址:https://www.cnblogs.com/jclian91/p/11425003.html
Copyright © 2020-2023  润新知