Python之配置文件处理

系统 1352 0

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

            
              pip3 install configparser

            
          

  我们以下面的具体工程为例,来讲述如何使用Python如何工程中的配置文件,项目结构如下图:

Python之配置文件处理_第1张图片

该项目中只有两个文件,一个为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之配置文件处理_第2张图片

  以上为示例项目的演示内容。
  使用配置文件,在工程的构建中,无疑是重要且方便的,因此,在实际的工程实践中,也应该多多使用配置文件,希望本文的内容能对大家的工作有所帮助~

注意:不妨了解下笔者的微信公众号: Python爬虫与算法(微信号为:easy_web_scrape), 欢迎大家关注~


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论