ini函數python 函數 in

如何使用Python3讀取配置文件

ini是微軟Windows操作系統中的文件擴展名(也常用在其他系統)。

柯坪網站制作公司哪家好,找創新互聯建站!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設公司等網站項目制作,到程序開發,運營維護。創新互聯建站于2013年創立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯建站

INI是英文“初始化(Initial)”的縮寫。正如該術語所表示的,INI文件被用來對操作系統或特定程序初始化或進行參數設置。通過它,可以將經常需要改變的參數保存起來(而且還可讀),使程序更加的靈活。

先給出一個ini文件的示例。

1234567891011[School]ip = 10.15.40.123mask = 255.255.255.0gateway = 10.15.40.1dns = 211.82.96.1 [Match]ip = 172.17.29.120mask = 255.255.255.0gateway = 172.17.29.1dns = 0.0.0.0

這個配置文件中保存的是不同場合下的IP設置參數。

首先,Python讀取ini配置需要用到ConfigParser包,所以要先加載它。

1import configparser

之后我們需要載入配置文件。

1config=configparser.ConfigParser()

#IpConfig.ini可以是一個不存在的文件,意味著準備新建配置文件。

1config.read("IpConfig.ini")

接下來,我們可以使用configparser.add_section()向配置文件中添加一個Section。

#添加節School

1config.add_section("School")

注意:如果文件中已經存在相應的項目,則不能再增加同名的節。

然后可以使用configparser.set()在節School中增加新的參數。

#添加新的IP地址參數

1234config.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文件中可能有同名項,所以做了異常處理

12345678try: 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")except configparser.DuplicateSectionError: print("Section 'Match' already exists")

增加完所有需要的項目后,要記得使用configparser.write()進行寫入操作。

1config.write(open("IpConfig.ini", "w"))

以上就是寫入配置文件的過程。

接下來我們使用configparser.get()讀取剛才寫入配置文件中的參數。讀取之前要記得讀取ini文件。

12345ip=config.get("School","IP")mask=config.get("School","mask")gateway=config.get("School","Gateway")dns=config.get("School","DNS")print((ip,mask+"\n"+gateway,dns)

下面是一個完整的示例程序,它將生成一個IpConfig.ini的配置文件,再讀取文件中的數據,輸出到屏幕上。

1# -*- coding: utf-8 -*-import configparser#讀取配置文件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")except configparser.DuplicateSectionError: print("Section 'School' already exists")#寫入比賽配置文件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")except configparser.DuplicateSectionError: print("Section 'Match' already exists")#寫入配置文件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+"\n"+gateway,dns))

如何使用Python3讀寫INI配置文件

使用 內置 模塊:import configparser

import?os,?configparser,?time

cp?=?configparser.ConfigParser()

Settings?=?dict(

config_file?=?os.path.join(os.path.dirname(__file__),'monitor.conf'),

config?=?cp

)

def?reload():??#重置設置

cp?=?Settings['config']

cp.read(Settings['config_file'])

def?get(section,key,default=None):???#獲取section中的key對應的value

cp?=?Settings['config']

try:

value?=?cp.get(section,?key)

except?(configparser.NoSectionError,configparser.NoOptionError):

value?=?default

return?value

reload()

if?__name__=='__main__':

print(get('section1',?'key1'))

print(1)

time.sleep(5)

reload()

print(get('section',?'key1'))

python3?如何創建一個.ini的配置文件。

1、說明:

python3使用configparser模塊來處理ini配置文件。

2、代碼示例:

需要生成conf.ini配置文件如下:

[config]

v1

=

100

v2

=

abc

v3

=

true

v4

=

123.45

python代碼:

import

configparser

#

加載現有配置文件

conf

=

configparser.ConfigParser()

#

寫入配置文件

conf.add_section('config')

#添加section

#

添加值

conf.set('config',

'v1',

'100')

conf.set('config',

'v2',

'abc')

conf.set('config',

'v3',

'true')

conf.set('config',

'v4',

'123.45')

#

寫入文件

with

open('conf.ini',

'w')

as

fw:

conf.write(fw)

#

讀取配置信息

v1

=

conf.getint('config',

'v1')

v2

=

conf.get('config',

'v2')

v3

=

conf.getboolean('config',

'v3')

v4

=

conf.getfloat('config',

'v4')

print('v1:',

v1)

print('v2:',

v2)

print('v3:',

v3)

print('v4:',

v4)

打開conf.ini文件檢查內容

3、模塊常用函數:

1)讀取配置文件

read(filename)

直接讀取ini文件內容

sections()

得到所有的section,并以列表的形式返回

options(section)

得到該section的所有option

items(section)

得到該section的所有鍵值對

get(section,option)

得到section中option的值,返回為string類型

getint(section,option)

得到section中option的值,返回為int類型,還有相應的getboolean()和getfloat()

函數。

2)寫入配置文件

add_section(section)

添加一個新的section

set(

section,

option,

value)

對section中的option進行設置,需要調用write將內容寫入配置文件。

python3.9 讀寫ini文件

官方文檔

從源碼看出,這個ini文檔,可以像字典一樣,使用“:”,但一般我們都使用“=”,并且值都不需要加引號

備注可以使用'#'或';',單獨一行,可縮進。

class ConfigParser(RawConfigParser):

class RawConfigParser(MutableMapping):

詳細看官網,不搬磚,列出幾個我自己常用的

標題名稱:ini函數python 函數 in
本文鏈接:http://m.kartarina.com/article42/dodshec.html

成都網站建設公司_創新互聯,為您提供微信小程序標簽優化品牌網站制作全網營銷推廣網站維護網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營
主站蜘蛛池模板: 无码播放一区二区三区| 无码国产伦一区二区三区视频| 亚洲a∨无码精品色午夜| 日韩免费无码一区二区视频| av无码一区二区三区| 精品无码国产污污污免费网站| 无码AV岛国片在线播放| 无码国产69精品久久久久孕妇| 亚洲AV无码国产精品色午友在线| 亚洲av午夜国产精品无码中文字| 亚洲AV无码专区国产乱码电影| 亚洲大尺度无码无码专线一区| 亚洲成AV人片在线观看无码 | 亚洲精品无码久久一线| 永久免费av无码网站韩国毛片 | 日韩精品无码Av一区二区| 亚洲AV无码久久精品成人 | 精品无码久久久久国产| 国产成人无码av| 亚洲成?Ⅴ人在线观看无码| AV无码精品一区二区三区| 久久久亚洲精品无码| 亚洲中文字幕无码不卡电影| 人妻丝袜无码专区视频网站| 国产成人无码AV片在线观看 | 亚洲爆乳少妇无码激情| 亚洲av无码精品网站| 国产拍拍拍无码视频免费 | 中文字字幕在线中文无码| 内射无码专区久久亚洲| 免费无码肉片在线观看| 亚洲精品无码一区二区| 久久久久久精品无码人妻| 99精品一区二区三区无码吞精| 亚洲AV无码专区在线亚| 一本天堂ⅴ无码亚洲道久久| 亚洲中文字幕久久无码| 永久免费AV无码国产网站| 亚洲AV无码一区二区大桥未久| 无码人妻一区二区三区av| 亚洲AV无码乱码精品国产|