Python中ini配置文件的寫入與讀取的操作示例
1 引言
INI 文件是一種簡(jiǎn)單的文本文件,用于存儲(chǔ)配置信息。它們易于閱讀和編輯,廣泛應(yīng)用于多種程序和應(yīng)用中。Python 通過內(nèi)置的 configparser 模塊提供了對(duì) INI 文件的讀寫支持。本文將詳細(xì)介紹如何在 Python 中使用 configparser 來處理 INI 文件。
2 INI 文件簡(jiǎn)介
INI 文件通常由一個(gè)或多個(gè)節(jié)(section)組成,每個(gè)節(jié)可以包含多個(gè)鍵值對(duì)。節(jié)由方括號(hào)包圍的標(biāo)題表示,例如 [SectionName]。
3 Python 中的 configparser 模塊
configparser 是 Python 的標(biāo)準(zhǔn)庫(kù)之一,用于解析和操作 INI 文件。它提供了豐富的方法來讀取、寫入、更新和刪除 INI 文件中的配置項(xiàng)。
configparser 是 Python 的標(biāo)準(zhǔn)庫(kù),無需單獨(dú)安裝??梢灾苯訉?dǎo)入并使用。
4 寫入 INI 文件
4.1 基本用法
from configparser import ConfigParser
# 創(chuàng)建配置解析器
config = ConfigParser()
# 添加節(jié)
config.add_section('Settings')
# 設(shè)置鍵值對(duì)
config.set('Settings', 'font', 'Arial')
config.set('Settings', 'fontsize', '12')
# 寫入文件
with open('config.ini', 'w') as configfile:
config.write(configfile)
4.2 高級(jí)用法
# 添加多個(gè)節(jié)
config.add_section('User')
config.set('User', 'name', 'Alice')
config.set('User', 'age', '30')
# 再次寫入
with open('config.ini', 'w') as configfile:
config.write(configfile)
5 讀取 INI 文件
# 讀取配置文件
config.read('config.ini')
# 獲取配置值
font = config.get('Settings', 'font')
fontsize = config.getint('Settings', 'fontsize')
print(f'Font: {font}, Font Size: {fontsize}')
# 檢查節(jié)是否存在
if config.has_section('User'):
name = config.get('User', 'name')
age = config.get('User', 'age')
print(f'User Name: {name}, Age: {age}')
6 實(shí)例演示
當(dāng)然可以。下面是一個(gè)使用 Python 的 configparser 模塊來讀取和寫入 INI 配置文件的完整示例。這個(gè)例子將包含創(chuàng)建配置文件、寫入多個(gè)節(jié)和鍵值對(duì),以及讀取這些配置的功能。我們將這些操作封裝在一個(gè)名為 config_example.py 的 Python 文件中。
6.1 封裝為config_example.py腳本文件
from configparser import ConfigParser
def create_config(filename):
config = ConfigParser()
config.add_section('Settings')
config.set('Settings', 'font', 'Arial')
config.set('Settings', 'fontsize', '12')
config.set('Settings', 'compression', '9.5') # 浮點(diǎn)數(shù)示例
config.set('Settings', 'fullscreen', 'yes') # 布爾值示例
config.add_section('User')
config.set('User', 'name', 'Alice')
config.set('User', 'age', '30')
with open(filename, 'w') as configfile:
config.write(configfile)
def read_config(filename):
config = ConfigParser()
config.read(filename)
if config.has_section('Settings'):
font = config.get('Settings', 'font')
fontsize = config.getint('Settings', 'fontsize') # 使用 getint
compression = config.getfloat('Settings', 'compression') # 使用 getfloat
fullscreen = config.getboolean('Settings', 'fullscreen') # 使用 getboolean
print(f"[Settings]\nFont: {font}\nFontSize: {fontsize}\n"
f"Compression: {compression}\nFullScreen: {fullscreen}\n")
if config.has_section('User'):
name = config.get('User', 'name')
age = config.getint('User', 'age') # 使用 getint
print(f"[User]\nName: {name}\nAge: {age}")
def main():
config_file = 'config.ini'
create_config(config_file)
read_config(config_file)
if __name__ == "__main__":
main()
運(yùn)行以上代碼后控制臺(tái)輸出結(jié)果:[Settings]
Font: Arial
FontSize: 12
Compression: 9.5
FullScreen: True[User]
Name: Alice
Age: 30
同時(shí)生成如下ini文件:“config.ini”

這個(gè)腳本包含兩個(gè)主要的函數(shù):create_config 和 read_config。create_config 函數(shù)用于創(chuàng)建一個(gè)新的 INI 配置文件并添加設(shè)置和用戶信息。read_config 函數(shù)則用于讀取這個(gè)配置文件并打印其內(nèi)容。main 函數(shù)組織了這些操作的流程。運(yùn)行此腳本將創(chuàng)建一個(gè)名為 config.ini 的配置文件,并在其中寫入數(shù)據(jù),然后讀取并打印這些數(shù)據(jù)。
7 注意事項(xiàng)
- 使用
configparser時(shí),請(qǐng)注意鍵和節(jié)的大小寫。默認(rèn)情況下,configparser將所有鍵和節(jié)名轉(zhuǎn)換為小寫。 - 使用
getint()、getfloat()和getboolean()方法可以獲取非字符串類型的值。
8 總結(jié)
configparser 模塊提供了一種簡(jiǎn)單而有效的方法來處理 INI 配置文件。通過這個(gè)模塊,您可以輕松地在 Python 中創(chuàng)建、讀取、修改和寫入 INI 文件,從而管理各種配置數(shù)據(jù)。
到此這篇關(guān)于Python中ini配置文件的寫入與讀取的操作示例的文章就介紹到這了,更多相關(guān)Python ini配置文件寫入與讀取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)把數(shù)字轉(zhuǎn)換成中文
這篇文章主要介紹了Python實(shí)現(xiàn)把數(shù)字轉(zhuǎn)換成中文,一般用于數(shù)字金額轉(zhuǎn)中文大寫金額,即將阿拉伯?dāng)?shù)字轉(zhuǎn)換為大寫的中文,需要的朋友可以參考下2015-06-06
Python面向?qū)ο蟪绦蛟O(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù)用法分析
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù)用法,結(jié)合具體實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中構(gòu)造函數(shù)與析構(gòu)函數(shù)的概念、原理、功能及相關(guān)使用技巧,需要的朋友可以參考下2019-04-04
Python中處理字符串之islower()方法的使用簡(jiǎn)介
這篇文章主要介紹了Python中處理字符串之islower()方法的使用,是Python入門的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05
Python爬取數(shù)據(jù)并實(shí)現(xiàn)可視化代碼解析
這篇文章主要介紹了Python爬取數(shù)據(jù)并實(shí)現(xiàn)可視化代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
python讀取dicom圖像示例(SimpleITK和dicom包實(shí)現(xiàn))
今天小編就為大家分享一篇python讀取dicom圖像示例(SimpleITK和dicom包實(shí)現(xiàn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python設(shè)計(jì)模式之簡(jiǎn)單工廠模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之簡(jiǎn)單工廠模式,結(jié)合實(shí)例形式分析了簡(jiǎn)單工廠模式的概念、原理及相關(guān)使用技巧,需要的朋友可以參考下2019-01-01
Python3中在Anaconda環(huán)境下安裝basemap包
今天小編就為大家分享一篇關(guān)于Python3中在Anaconda環(huán)境下安裝basemap包的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10
DRF?QuerySet?Instance數(shù)據(jù)庫(kù)操作功能概述
這篇文章主要為大家介紹了DRF?QuerySet?Instance數(shù)據(jù)庫(kù)處理的功能概述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10

