❶ 如何使用python3讀取配置文件
ini是微軟Windows操作系統中的文件擴展名(也常用在其他系統)。
INI是英文「初始化(Initial)」的縮寫。正如該術語所表示的,INI文件被用來對操作系統或特定程序初始化或進行參數設置。通過它,可以將經常需要改變的參數保存起來(而且還可讀),使程序更加的靈活。
先給出一個ini文件的示例。
[School]
ip=10.15.40.123
mask=255.255.255.0
gateway=10.15.40.1
dns=211.82.96.1
[Match]
ip=172.17.29.120
mask=255.255.255.0
gateway=172.17.29.1
dns=0.0.0.0
這個配置文件中保存的是不同場合下的IP設置參數。
首先,Python讀取ini配置需要用到ConfigParser包,所以要先載入它。
importconfigparser
之後我們需要載入配置文件。
config=configparser.ConfigParser()
#IpConfig.ini可以是一個不存在的文件,意味著准備新建配置文件。
config.read("IpConfig.ini")
接下來,我們可以使用configparser.add_section()向配置文件中添加一個Section。
#添加節School
config.add_section("School")
注意:如果文件中已經存在相應的項目,則不能再增加同名的節。
然後可以使用configparser.set()在節School中增加新的參數。
#添加新的IP地址參數
config.set("School","IP","192.168.1.120")
config.set("School","Mask","255.255.255.0")
config.set("School","Gateway","192.168.1.1")
config.set("School","DNS","211.82.96.1")
你可以以同樣的方式增加其它幾項。
#由於ini文件中可能有同名項,所以做了異常處理
try:
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")
exceptconfigparser.DuplicateSectionError:
print("Section'Match'alreadyexists")
增加完所有需要的項目後,要記得使用configparser.write()進行寫入操作。
config.write(open("IpConfig.ini","w"))
以上就是寫入配置文件的過程。
接下來我們使用configparser.get()讀取剛才寫入配置文件中的參數。讀取之前要記得讀取ini文件。
ip=config.get("School","IP")
mask=config.get("School","mask")
gateway=config.get("School","Gateway")
dns=config.get("School","DNS")
print((ip,mask+" "+gateway,dns)
下面是一個完整的示常式序,它將生成一個IpConfig.ini的配置文件,再讀取文件中的數據,輸出到屏幕上。
#-*-coding:utf-8-*-importconfigparser#讀取配置文件config=configparser.ConfigParser()config.read("IpConfig.ini")#寫入宿舍配置文件try:config.add_section("School")config.set("School","IP","10.15.40.123")config.set("School","Mask","255.255.255.0")config.set("School","Gateway","10.15.40.1")config.set("School","DNS","211.82.96.1")exceptconfigparser.DuplicateSectionError:print("Section'School'alreadyexists")#寫入比賽配置文件try: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")exceptconfigparser.DuplicateSectionError:print("Section'Match'alreadyexists")#寫入配置文件config.write(open("IpConfig.ini","w"))ip=config.get("School","IP")mask=config.get("School","mask")gateway=config.get("School","Gateway")dns=config.get("School","DNS")print((ip,mask+" "+gateway,dns))
❷ python 使用配置文件ini
配置文件通常用於存儲應用的設置信息,其中.ini文件是廣泛應用的一種格式,它由多個節(sections)組成,每節內包含多個鍵值對。Python提供了標准庫configparser模塊來幫助處理.ini文件,實現讀取、修改與寫入。
讀取.ini文件時,首先需要導入configparser模塊,然後通過read()方法載入文件,最後使用get()或items()方法訪問信息。例如:
python
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
# 獲取特定節的配置值
section = 'Settings'
key = 'Language'
print(config.get(section, key))
修改和寫入.ini文件同樣基於configparser模塊。修改配置值時,通過set()方法實現,寫入新文件則使用write()方法。以下示例展示了如何操作:
python
config.set('Settings', 'Language', 'Chinese')
with open('new_config.ini', 'w') as configfile:
config.write(configfile)
通過以上代碼,讀取、修改與寫入.ini文件的過程得以實現。這些操作對於管理應用配置提供了強大且靈活的支持,簡化了開發與維護工作。
❸ python標准庫 configparser讀取config或ini配置文件
Python 提供了強大的配置文件處理能力,其標准庫中的 configparser 模塊支持處理config或ini格式的配置文件。這種文件結構由兩個部分構成:sections和items。sections用來標識不同的配置塊,而items則是這些塊下的鍵值對,適應了多語言環境下的不同配置需求。
對於實際操作,configparser模塊簡化了配置文件的讀取。首先,通過導入configparser模塊並實例化一個ConfigParser對象。使用config.read()方法,你可以直接讀取ini文件,指定文件路徑和編碼格式。通過config.sections(),config.options()和config.items(),你可以獲取到所有section、section內的選項以及它們的鍵值對。例如,要讀取"zh_cn.config"文件,只需調用config[section][option]就能獲取特定section和option的值,同時config.get()系列方法還能返回對應類型(string、int、bool或float)的值。
除了讀取,configparser還支持對配置文件的新增和修改。通過config.add_section()可以添加新的section,set()方法用於設置section中的option值,如果需要寫迴文件,用config.write()配合open()函數。例如,你可以選擇通過set()方法逐個添加值,或者通過字典一次性添加配置。修改配置文件時,務必先讀取原始內容,然後進行所需更改。
總的來說,configparser是Python處理config或ini格式配置文件的強大工具,它提供了方便的API來處理讀取、新增和修改配置數據的操作。