0080-【Python包】-configparser- 命令行標準庫來讀入配置文件

configparser

是python標準庫中唯一 一個具有指定的配置文件操作,

  1. 基本的讀取配置文件
    -read(filename) 直接讀取ini文件內容
    -sections() 得到所有的section,並以列表的形式返回
    -options(section) 得到該section的所有option
    -items(section) 得到該section的所有鍵值對
    -get(section,option) 得到section中option的值,返回爲string類型
    -getint(section,option) 得到section中option的值,返回爲int類型,還有相應的getboolean()和getfloat() 函數。

  2. 基本的寫入配置文件
    -add_section(section) 添加一個新的section
    -set( section, option, value) 對section中的option進行設置,需要調用write將內容寫入配置文件。

注意事項

配置參數讀出來都是字符串類型, 參數運算時,注意類型轉換,另外,對於字符型參數,不需要加“”

應用

支持配置文件(.ini、 .conf、 .cfg)的讀寫

缺點

1,不能區分大小寫。
2,重新寫入的ini文件不能保留原有INI文件的註釋。
3,重新寫入的ini文件不能保持原有的順序。
4,不支持嵌套。
5,不支持格式校驗。

無序的問題

舉例
默認的ConfigParser對於選項是按照字母順序排列的。

>>> from ConfigParser import ConfigParser
>>> cf = ConfigParser()
>>> cf.add_section('d')
>>> cf.set('d', 'name', 'smallfish')
>>> cf.add_section('a')
>>> cf.set('a', 'name', 'smallfish2')
>>> cf.write(open('d:/a.ini', 'w'))
>>> cf = None

生成配置如下:

[a]

name = smallfish2

[d]

name = smallfish

對ConfigParser中section的順序,屬於字典,本身就是無序的。ConfigObj庫還不錯,可以實現順序

>>> from configobj import ConfigObj
>>> config = ConfigObj()
>>> config.filename = 'd:/a.ini'
>>> config['d'] = {}
>>> config['d']['name'] = 'smallfish'
>>> config['a'] = {}
>>> config['a']['name'] = 'smallfish2'
>>> config.write()

生成配置如下:

[d]

name = smallfish

[a]

name = smallfish2

ConfigObj

爲configparser的升級版

讀寫操作,參考文章:
python 使用ConfigParser,ConfigObj讀取配置
https://blog.csdn.net/iteye_3128/article/details/82541613

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