zoukankan      html  css  js  c++  java
  • 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), 欢迎大家关注~

  • 相关阅读:
    iis7 下配置 ASP.NET MVC 项目遇到的问题 (WIN7 64位 旗舰版 第一次配置站点)
    C# .NET 使用 NPOI 读取 .xlsx 格式 Excel
    C# .NET 使用 NPOI 生成 .xlsx 格式 Excel
    SQL和T-SQL之间的区别
    .net core的服务器模式和工作站模式
    Windows Mysql8 设置大小写敏感
    每个国家对应的语言Locale和国家代码对照表(转)
    IL指令集
    使用 nvm 管理不同版本的 node 与 npm
    SSIS 包部署 Package Store 后,在 IS 中可以执行,AGENT 执行却报错
  • 原文地址:https://www.cnblogs.com/jclian91/p/11425003.html
Copyright © 2011-2022 走看看