python configparser配置文件的讀寫

python使用configparser可以實現配置文件的讀寫。
configparser中有SafeConfigParser、ConfigParser、RawConfigParser三個類對象。SafeConfigParser繼承自ConfigParser,ConfigParser繼承自RawConfigParser。
在這裏插入圖片描述
因此可以直接使用RawConfigParser。

下面通過代碼展示以下RawConfigParser中的方法的使用。
1、準備的配置文件mysql.ini(和腳本在同一目錄下)。

[MySQLdb]
user = dev
passwd = 'dev'
db = userdb
host = '192.168.16.176'
port = 3306
charset = 'utf8'
maxconnect = 5

[db]
user = ming
passwd = user_4_script
db = userdb
host = 112.62.16.81
port = 1
charset = utf8
maxconnect = 5

2、使用RawConfigParser完成腳本內容的讀取

# coding:utf-8
'''
Note:
   讀取配置文件
Author:Qred
Date:2019/8/27
'''

import configparser

def main():
   path = 'mysql.ini'
   cfg = configparser.RawConfigParser()
   cfg.read(path)

   print '獲取section節點'
   print cfg.sections()

   print '獲取是否存在指定section的信息'
   print cfg.has_section('db')

   print '獲取section的所用配置信息'
   print cfg.items('db')

   print '獲取指定section的options即該節點的所有鍵'
   print cfg.options('db')

   print '查看指定的section是否存在該option user:'
   print cfg.has_option('db','user')

   print '獲取指定section下的指定options user 的值'
   print cfg.get('db', 'user')

   print '指定獲取到的port值的類型 int float boolean'
   print cfg.getint('db', 'port')
   print cfg.getfloat('db', 'port')
   print cfg.getboolean('db', 'port')

   print '\nchange data .\n'

   print '設置port爲666(設置value類型時,統一用str格式)'
   cfg.set('db','port','666')
   print cfg.getint('db', 'port')

   print '添加section節點test'
   cfg.add_section('test')
   print cfg.has_section('test')
   print '爲test添加option name,並設置值爲root'
   cfg.set('test', 'name', 'root')
   print cfg.items('test')

   print '刪除option name'
   cfg.remove_option('test','name')
   print cfg.has_option('test','name')

   print '刪除section節點test'
   cfg.remove_section('test')
   print cfg.has_section('test')

if __name__ == '__main__':
    main()

可以直接複製上面的兩個文件,在本地直接運行,查看運行效果。
當然,在使用的過程中可以直接使用get()、getint()、getfloat()方法獲取我們實際需要的配置文件數據。

值得注意的是,使用set方法設置配置文件時,value值需要是string格式。而在獲取時,需要使用不通的get方法進行數據類型轉換。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章