對於一些小的專案**,配置引數都是固定的,可以直接寫入**裡面,有些則可以通過輸入框輸入,但對於乙個大的工程,或者說真正意義的工程來說,配置引數是多變的,或者資料量是很龐大的,所以需要乙個檔案進行儲存。最近剛好要用到,所以上網搜了一下資料,整理了一下。
python 的配置檔案主要用 .ini字尾的檔案,自帶了乙個叫 configparser的庫。
下面是這個庫的基本使用:
(1)直接用記事本新建乙個配置檔案
(2)編寫規則:
每個模組叫乙個section,名字用中括號 " " 括起來
然後每一行寫乙個option ,每個選項就是乙個option。直接寫名字,後面加 " = " 再加上它的值就行
可以在配置檔案中加入注釋 ,但是注釋必須是單獨的一行,且以 「#」 開頭。只是每次執行時不會讀入注釋,只要執行一次,寫入檔案後,所有的注釋都會消失。所以僅僅用於第一次初始化時有用(如果不進行寫入,則可以一直在)。
[section1]
option1 =
11option2 =
123#我是注釋
#我是另乙個注釋
[section2]
name =
"czj"
password =
123456
add =
"sicnu"
儲存檔案的時候要修改字尾名,編碼格式要是 utf-8 以免出錯。
#建立乙個類
config = configparser.configparser(
)config.read(
"demo.ini"
, encoding=
"utf-8"
)
print
(config.sections(
))
執行結果
print
(config.options(
"section1"
))
執行結果
result = config.items(
"section2"
)print
(result)
#返回值為列表型別
print
(type
(result)
)#列表的每乙個元素為元組型別
result0=result[0]
print
(type
(result0)
)
執行結果
#1.get方法
print
(config.get(
"section1"
,"option2"))
#2.另一種讀取方法
print
(config[
"section2"][
"password"
])
執行結果
config.
set(
"section1"
,"option1"
,"11"
)#修改db_port的值為69
config.write(
open
("demo.ini"
,"w"
))
config.has_section(
"section1"
)#是否存在該section
config.has_option(
"section1"
,"option1"
)#是否存在該option
if
not config.has_section(
"default"):
# 檢查是否存在section
config.add_section(
"default")if
not config.has_option(
"default"
,"db_host"):
# 檢查是否存在該option
config.
set(
"default"
,"db_host"
,"1.1.1.1"
)config.write(
open
("demo.ini"
,"w"
))
config.remove_section(
"default"
)#整個section下的所有內容都將刪除
config.remove_option(
"section1"
,"option3"
)config.write(
open
("demo.ini"
,"w"
))
在建立類的時候,使用了read的方法,是把檔案讀到了記憶體,在記憶體中進行了改變,但是如果不進行檔案的寫入,那麼這些修改都是沒用的,檔案不會產生任何的改變。切記切記,每次更改之後記得重新寫回檔案中
config.write(
open
("demo.ini"
,"w"
))
python配置檔案
將所有的 和配置都變成模組化可配置化,這樣就提高了 的重用性,不再每次都去修改 內部,這個就是我們逐步要做的事情,可配置化 coding utf 8 flask 配置資訊 在主程式中 from flask import flask flask name 方案一 物件名.congif 資料名 單獨配置...
python 配置檔案
配置檔案2 ini properties conf 等都是配置檔案3 section 片段 option 選項4 同乙個section下option都是唯一的56 語法7 secion 8 option values9 1011 例如 12 student1 13 name 小丫14 age 23 ...
Python配置XML配置檔案
usr bin env python coding utf 8 author rache date 2020 3 19 22 02 desc tomcat元件配置初始化,適用版本 apache tomcat 9.0.33 from xml.etree.elementtree import eleme...