Ini是常見的配置文件格式之壹。
Ini是微軟Windows操作系統中的文件擴展名(在其他系統中也常用)。
INI是英文中“Initial”的縮寫。顧名思義,INI文件用於初始化操作系統或特定程序或設置參數。
百度百科
通過它可以保存需要經常更改的參數(並且可讀),使程序更加靈活。
讓我先舉壹個ini文件的例子。
[學校]
IP = 10.15.40 . 123
掩碼= 255.255.255.0
網關= 10.15.40.1
DNS = 211 . 82 . 96 . 1
[匹配]
IP = 172.17.29 . 120
掩碼= 255.255.255.0
網關= 172.17.29.1
dns = 0.0.0.0
該配置文件存儲不同情況下的IP設置參數。
下面將以生成和讀取這個配置文件為例來說明。
Python(v3)讀取方法
首先,Python需要ConfigParser包來讀取ini配置,所以應該首先加載它。
導入configparser
然後我們需要加載配置文件。
config=configparserConfigParser()
#IpConfig.ini可以是壹個不存在的文件,這意味著要創建壹個新的配置文件。
config.read("IpConfig.ini ")
接下來,我們可以使用configparser.add_Section()向配置文件添加壹個節。
#添加節日學校
config.add_section("School ")
註意:如果文件中已經存在相應的項目,則不能添加另壹個同名的節。
然後,您可以使用configparser.set()向School部分添加新參數。
#添加新的IP地址參數
config.set("學校"," IP "," 192.168.1.120 ")
config.set("學校","掩碼"," 255.255.255.0 ")
config.set("學校","網關"," 192.168.1.1 ")
config.set("學校"," DNS "," 211.82.96.1 ")
您可以用同樣的方法添加其他幾個項目。
#因為ini文件中可能有同名的項目,所以處理了異常。
嘗試:
config.add_section("Match ")
config.set("Match "," IP "," 172.17 . 29 . 120 ")
config.set("Match "," Mask "," 255.255.255.0 ")
config.set("Match "," Gateway "," 172.17.29.1 ")
config.set("Match "," DNS "," 0.0.0.0 ")
configparser除外。DuplicateSectionError:
打印(“節‘匹配’已經存在”)
添加完所有的必選項後,記得使用configparser.write()進行寫入。
config . write(open(" ipconfig . ini "," w "))
這是寫配置文件的過程。
接下來,我們使用configparser.get()讀取剛剛寫入配置文件的參數。記得在閱讀ini文件之前先閱讀它。
ip=config.get("School "," ip ")
mask=config.get("School "," mask ")
gateway=config.get("學校","網關")
dns=config.get("School "," dns ")
打印((ip,掩碼+" \ n "+網關,dns))
完整示例
下面是壹個完整的示例程序,它會生成壹個IpConfig.ini的配置文件,然後讀取文件中的數據並輸出到屏幕上。
# -*-編碼:utf-8 -*-
導入configparser
#讀取配置文件
config=configparserConfigParser()
config.read("IpConfig.ini ")
#編寫宿舍配置文件
嘗試:
config.add_section("School ")
config.set("學校"," IP "," 10.15.40.123 ")
config.set("學校","掩碼"," 255.255.255.0 ")
config.set("學校","網關"," 10.15.40.1 ")
config.set("學校"," DNS "," 211.82.96.1 ")
configparser除外。DuplicateSectionError:
打印(“學校”部分已經存在)
#編寫競爭配置文件
嘗試:
config.add_section("Match ")
config.set("Match "," IP "," 172.17 . 29 . 120 ")
config.set("Match "," Mask "," 255.255.255.0 ")
config.set("Match "," Gateway "," 172.17.29.1 ")
config.set("Match "," DNS "," 0.0.0.0 ")
configparser除外。DuplicateSectionError:
打印(“節‘匹配’已經存在”)
#寫入配置文件
config . write(open(" ipconfig . ini "," w "))
ip=config.get("School "," ip ")
mask=config.get("School "," mask ")
gateway=config.get("學校","網關")
dns=config.get("School "," dns ")
打印((ip,掩碼+" \ n "+網關,dns))
摘要
Python讀取ini文件還是很簡單的。這裏我只是給出壹些簡單的使用方法。如果妳想使用更高級的功能,比如評論相關的功能。可以參考Pyhton官方文檔。