Python中ini配置文件的寫入與讀取的操作示例
1 引言
INI 文件是一種簡單的文本文件,用于存儲配置信息。它們易于閱讀和編輯,廣泛應(yīng)用于多種程序和應(yīng)用中。Python 通過內(nèi)置的 configparser 模塊提供了對 INI 文件的讀寫支持。本文將詳細(xì)介紹如何在 Python 中使用 configparser 來處理 INI 文件。
2 INI 文件簡介
INI 文件通常由一個或多個節(jié)(section)組成,每個節(jié)可以包含多個鍵值對。節(jié)由方括號包圍的標(biāo)題表示,例如 [SectionName]。
3 Python 中的 configparser 模塊
configparser 是 Python 的標(biāo)準(zhǔn)庫之一,用于解析和操作 INI 文件。它提供了豐富的方法來讀取、寫入、更新和刪除 INI 文件中的配置項。
configparser 是 Python 的標(biāo)準(zhǔn)庫,無需單獨安裝??梢灾苯訉?dǎo)入并使用。
4 寫入 INI 文件
4.1 基本用法
from configparser import ConfigParser
# 創(chuàng)建配置解析器
config = ConfigParser()
# 添加節(jié)
config.add_section('Settings')
# 設(shè)置鍵值對
config.set('Settings', 'font', 'Arial')
config.set('Settings', 'fontsize', '12')
# 寫入文件
with open('config.ini', 'w') as configfile:
config.write(configfile)
4.2 高級用法
# 添加多個節(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 實例演示
當(dāng)然可以。下面是一個使用 Python 的 configparser 模塊來讀取和寫入 INI 配置文件的完整示例。這個例子將包含創(chuàng)建配置文件、寫入多個節(jié)和鍵值對,以及讀取這些配置的功能。我們將這些操作封裝在一個名為 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') # 浮點數(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()
運行以上代碼后控制臺輸出結(jié)果:[Settings]
Font: Arial
FontSize: 12
Compression: 9.5
FullScreen: True[User]
Name: Alice
Age: 30
同時生成如下ini文件:“config.ini”

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

