隨著腳本復(fù)雜程度增加, 配置文件成了必不可少。之前一直使用json文件,當(dāng)作配置文件。比較之下,
configparser
庫(kù)更加適合。
下述文件為一個(gè)簡(jiǎn)單的
configparser
庫(kù)的配置文件
config.ini
[testdb]
db_port = 3306
db_host = 127.0.0.1
db_user = root
db_passwd = 123456
# remark
[zhfx]
target = "zy-zhfx"
targets = ["zy-zhfx"]
num = 3
上述方括號(hào)內(nèi)的
[]
稱之為
section
,等號(hào)
=
左邊的為
option
,等號(hào)右邊的為
value
。
下面來(lái)一個(gè)demo:
# -*- coding: utf-8 -*-
__author__ = "chenk"
import configparser
cf = configparser.ConfigParser()
# 讀取配置文件
cf.read("config.ini")
print("獲取所有配置項(xiàng)", cf.sections(), type(cf.sections()))
print("獲取某一配置項(xiàng)的配置單元", cf.options("zhfx"), type(cf.options("zhfx")))
print("獲取某一配置項(xiàng)詳情的配置單元詳情(返回結(jié)果為str)", cf.items("testdb"), type(cf.items("testdb")))
print("獲取某一配置項(xiàng)的某一配置單元的值(返回結(jié)果為str)", cf.get("zhfx", "targets"), type(cf.get("zhfx", "targets")))
print("獲取某一配置項(xiàng)的某一配置單元的值(返回結(jié)果為str)", cf.get("zhfx", "target"), type(cf.get("zhfx", "target")), "hello")
print("獲取某一配置項(xiàng)的某一配置單元的值(返回結(jié)果為str)", cf.get("zhfx", "num"), type(cf.get("zhfx", "num")))
print("獲取某一配置項(xiàng)的某一配置單元的值(返回結(jié)果為int)", cf.getint("zhfx", "num"), type(cf.getint("zhfx", "num")))
cf2 = configparser.ConfigParser()
# 增加配置項(xiàng)
cf2.add_section("add")
# 設(shè)置配置項(xiàng)
cf2.set("add", "str", "abc")
cf2.set("add", "str2", "123") # 值僅允許str類型的
cf2.set("add", "str3", "111") # 不允許 cf2.set("add", "str3", 111)
# 配置項(xiàng)寫(xiě)入文件
with open("config2.ini", "w") as f:
cf2.write(f)
cf3 = configparser.ConfigParser()
cf3.read("config2.ini")
print(cf3.sections())
print(cf3.get("add", "str"), type(cf3.get("add", "str")))
print(cf3.get("add", "str2"), type(cf3.get("add", "str2")))
print(cf3.get("add", "str3"), type(cf3.get("add", "str3")))
上述
cf
對(duì)象,讀取了
config.ini
的配置文件。展示了不同的獲取配置文件的方式。
cf2
對(duì)象則增加了一個(gè)配置文件。
cf3
對(duì)象則讀取了
cf2
新增的配置文件。總體來(lái)說(shuō),比較簡(jiǎn)單。需要注意一點(diǎn)的是,等號(hào)右側(cè)的數(shù)據(jù)都是字符串。若設(shè)置的是整數(shù)類型,需要用
getint
的方法。
cf2
對(duì)象新增的配置文件如下:
[add]
str = abc
str2 = 123
str3 = 111
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
