ga('set', 'anonymizeIp', 1);
給予使用者操作之程式時常會配置ini檔案對參數做設定。
本文介紹如何使用python讀寫操作ini檔案。
ini 配置文檔格式範例如下:
[section1]
;此行為註解
var1 = 10
var2 = QQQ
var3 = A1B
其中[section]部分命名不可重複,
每個section下可有多個key-value對。
“;” 為註解行。
Python3中使用configparser模組來存取ini文檔。
(若是)python2則是Configparser
# python3
import configparser
# python2
import Configparser
在你的python檔案同層目錄新建一個ini檔案。
以下程式碼示範讀取一個叫做test.ini之文檔。該ini內容為上方範例。
import sys
import configparser
import os
def loadINI():
curpath = os.path.dirname(os.path.realpath(__file__))
cfgpath = os.path.join(curpath, 'test.ini')
# 創建對象
conf = configparser.Configparser()
# 讀取INI
conf.read(cfgpath, encoding='utf-8')
# 取得所有sections
sections = conf.sections()
# 取得某section之所有items,返回格式為list
items = conf.items('section1')
return ([sections, items])
iniContent = loadINI()
print('Sections= ' + iniContent[0])
print('\nItems= ' + iniContent[1])
input("按下任意鍵結束")
上方輸出結果為如下:
Sections= section1
Items= [(‘var1′, ’10’), (‘var2’, ‘QQQ’), (‘var3’, ‘A1B’)]
如果想刪除某section中的某個item(以key辨識)
conf.remove_option('section1', 'var2')
如果想刪除整個section
conf.remove_section('section1')
添加一個section。
conf.add_section('section2')
在某section中添加items。
conf.set('section2', 'var1', '20')
conf.set('section2', 'var2', 'AAA')
write寫入分為兩種,一種會刪除原本的文檔內容,重新寫入。
conf.write(open(cfgpath, "w"))
另一種為不刪除原本文檔,直接在原本文檔繼續寫入內容。
conf.write(open(cfgpath, "a"))
write是在前方講到的remove跟add方法後使用,
只有在執行conf.write()方法之後才會實際修改ini文檔內容。