詳解Python讀取配置文件模塊ConfigParser
1,ConfigParser模塊簡介
假設有如下配置文件,需要在Pyhton程序中讀取
$ cat config.ini [db] db_port = 3306 db_user = root db_host = 127.0.0.1 db_pass = xgmtest [SectionOne] Status: Single Name: Derek Value: Yes Age: 30 Single: True [SectionTwo] FavoriteColor = Green [SectionThree] FamilyName: Johnson [Others] Route: 66
如何在Python中讀取呢
>>> import ConfigParser
>>> Config = ConfigParser.ConfigParser()
>>> Config
<ConfigParser.ConfigParser instance at 0x00BA9B20>
>>> Config.read("config.ini")
['config.ini']
>>> Config.sections()
['db', 'Others', 'SectionThree', 'SectionOne', 'SectionTwo']
>>> Config.get("db", "db_host")
'127.0.0.1'
>>> Config.getint("db", "db_port")
3306
2,ConfigParser模塊的基本方法介紹
讀取配置文件
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() 函數
寫入配置文件
add_section(section) 添加一個新的section set(section, option, value) 對section中的option進行設置,需要調用write將內容寫入配置文件
3,特殊情況
如果有以下配置文件
[zone1] 192.168.10.13 192.168.10.15 192.168.10.16 192.168.10.17 [zone2] 192.168.11.13 192.168.11.14 192.168.11.15 [zone3] 192.168.12.13 192.168.12.14 192.168.12.15
這種配置文件,每一個section里面,并不是健值對的形式,此時再調用ConfigParser讀取便會報出如下錯誤:
ConfigParser.ParsingError: File contains parsing errors: hosts.txt
所以正確的調用方法為:
#!/usr/bin/python
import ConfigParser
config = ConfigParser.ConfigParser(allow_no_value=True)
config.read("hosts.txt")
print config.items("zone2")
運行結果:
$ ./a.py
[('10.189.22.21', None), ('10.189.22.22', None), ('10.189.22.23', None)]
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python2利用wxpython生成投影界面工具的圖文詳解
這篇文章主要介紹了python2利用wxpython生成投影界面工具的圖文詳解,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
python使用matplotlib繪圖時圖例顯示問題的解決
matplotlib 是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合交互式地進行制圖。下面這篇文章主要給大家介紹了在python使用matplotlib繪圖時圖例顯示問題的解決方法,需要的朋友可以參考學習,下面來一起看看吧。2017-04-04
python光學仿真學習wxpython創(chuàng)建手速測試程序
這篇文章主要介紹了python光學仿真學習使用wxpython創(chuàng)建一個手速測試程序示例的實現,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
Python使用grequests并發(fā)發(fā)送請求的示例
這篇文章主要介紹了Python使用grequests并發(fā)送請求的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11
Python中工作日類庫Busines Holiday的介紹與使用
Python語言是通過區(qū)分類庫的方式來劃分功能。用戶根據自身的需要加載合適的類庫,來完成需要的功能。下面這篇文章主要給大家介紹了關于Python中工作日類庫Busines Holiday使用的相關資料,需要的朋友可以參考借鑒。2017-07-07
python網絡編程:socketserver的基本使用方法實例分析
這篇文章主要介紹了python網絡編程:socketserver的基本使用方法,結合實例形式分析了python網絡編程中socketserver的基本功能、使用方法及操作注意事項,需要的朋友可以參考下2020-04-04

