黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python之配置文件處理

系統(tǒng) 1961 0

??在平時(shí)的工程中,我們?cè)跇?gòu)建工程時(shí),常常需要用到配置文件,用來(lái)配置項(xiàng)目的一些信息,比如數(shù)據(jù)庫(kù),請(qǐng)求網(wǎng)址,文件夾,線程、進(jìn)程數(shù)等信息,這樣就可以方便我們通過(guò)修改配置文件中的參數(shù)來(lái)很好地完成整個(gè)項(xiàng)目的功能修改或開(kāi)發(fā)。配置文件一般區(qū)別于Python代碼,會(huì)單獨(dú)存放在一個(gè)文件夾中,方便管理,常見(jiàn)的配置文件格式有 .conf , .ini , .yaml 等。
??本文使用Python中的configparser模塊來(lái)處理conf、ini配置文件。
??首先需要安裝configparser模塊,命令如下:

            
              pip3 install configparser

            
          

??我們以下面的具體工程為例,來(lái)講述如何使用Python如何工程中的配置文件,項(xiàng)目結(jié)構(gòu)如下圖:

Python之配置文件處理_第1張圖片

該項(xiàng)目中只有兩個(gè)文件,一個(gè)為mysql.conf,是MySQL的連接配置;另一個(gè)是Python代碼,用于讀取某張表的具體內(nèi)容。
??其中mysql.conf文件的內(nèi)容如下:

            
              [mysql]
db_host=localhost
db_port=3306
db_user=root
db_password=
db_database=school

            
          

里面的[mysql]是select,類似于HTML中的select(下拉菜單),下面的幾行為option,規(guī)定了數(shù)據(jù)庫(kù)的連接信息,包括host、port、user、password以及database。
??接著是mysql_test.py,完整的代碼內(nèi)容如下:

            
              
                # -*- 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"
              
              
                )
              
              
                # 打開(kāi)數(shù)據(jù)庫(kù)連接
              
              
db 
              
                =
              
               pymysql
              
                .
              
              connect
              
                (
              
              host
              
                =
              
              host
              
                ,
              
              
                     port
              
                =
              
              port
              
                ,
              
              
                     user
              
                =
              
              user
              
                ,
              
              
                     password
              
                =
              
              password
              
                ,
              
              
                     db
              
                =
              
              database
                     
              
                )
              
              
                # 使用cursor()方法創(chuàng)建一個(gè)游標(biāo)對(duì)象: cursor
              
              
cursor 
              
                =
              
               db
              
                .
              
              cursor
              
                (
              
              
                )
              
              
                # 使用execute()方法執(zhí)行SQL語(yǔ)句并輸出結(jié)果
              
              
cursor
              
                .
              
              execute
              
                (
              
              
                "select * from employee"
              
              
                )
              
              
                for
              
               row 
              
                in
              
               cursor
              
                .
              
              fetchall
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              row
              
                )
              
              
                # 關(guān)閉游標(biāo)對(duì)象
              
              
cursor
              
                .
              
              close
              
                (
              
              
                )
              
              
                # 關(guān)閉數(shù)據(jù)庫(kù)連接
              
              
db
              
                .
              
              close
              
                (
              
              
                )
              
            
          

在該文件中,我們使用configparser模塊解析出mysql.conf文件中MySQL數(shù)據(jù)庫(kù)的連接方式,并使用pymysql模塊獲取school數(shù)據(jù)庫(kù)中employee表的全部數(shù)據(jù)。輸出的結(jié)果如下:

            
              ('mac', 'mohan', 20, 'm', 2000.0, datetime.date(2019, 9, 1))
('alex', 'ben', 24, 'f', 2500.0, datetime.date(2012, 8, 9))

            
          

讓我們看一眼MySQL中這張表的內(nèi)容,如下圖:

Python之配置文件處理_第2張圖片

??以上為示例項(xiàng)目的演示內(nèi)容。
??使用配置文件,在工程的構(gòu)建中,無(wú)疑是重要且方便的,因此,在實(shí)際的工程實(shí)踐中,也應(yīng)該多多使用配置文件,希望本文的內(nèi)容能對(duì)大家的工作有所幫助~

注意:不妨了解下筆者的微信公眾號(hào): Python爬蟲(chóng)與算法(微信號(hào)為:easy_web_scrape), 歡迎大家關(guān)注~


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論