當前位置:成語大全網 - 書法字典 - 如何用Python3讀寫INI配置文件

如何用Python3讀寫INI配置文件

ini文件簡介

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官方文檔。