今天分享下關於python讀取配置檔案的相關知識點,這裡主要介紹python的configparser模組的用法。話不多說,下面直接上**講解。
首先我們要知道配置檔案中的格式要求是什麼?說起來也很簡單,直接看看下面的示例吧:
[group1] name=name1 age=20 tel=1385****698 address=nanjing [group2] name=name2 age=18 tel=1864****895 address=beijing
從上面我們可以看的很清楚,其實說的容易懂寫,就類似於,在這個配置檔案裡,你可以分類來組織自己的內容,例如group1,group2等等,名稱可以自己命名,然後在每個分組下,用「key=value」的形式,把需要的內容填寫進去。很簡單吧。
既然配置檔案準備完畢了,接下來我們就要對它進行讀寫操作了,畢竟這才是我們最需要的嘛,檔案寫起來不難,那怎麼讓我們在自己的**中能夠輕鬆的對它進行讀取和寫入呢?我們繼續往下看。
在這裡,我們引入了python的configparser模組,通過它,我們來對寫好的檔案內容進行操作。
首先,看一下configparser模組的常用方法有哪些:
--read():讀取配置檔案
--sections():讀取配置檔案中所有的section(可以理解為組名:group1,group2……)
--options(section):讀取該section下所有的option(可以理解成讀取該組下的所有key)
--items(section):讀取該section下的所有值,並以鍵值對形式輸出(例如:(『name』:『name1』))
--get(section, option):讀取指定section下面的option的值(可以理解成,讀取具體某個group下面指定key的值)
--add_section(section):新增乙個section,引數為section的名稱
--set(section, option, value):在section下面新增一條資料(key=value),需要呼叫write()將內容寫入檔案
以上面的檔案為例,來看下具體的操作:
下面可以看一下**:
----------配置檔案ini
[api]
ak=name2
sk=18
tel=1864****895
address=beijing
--------讀取路徑
setting 函式:
import os
# 當前檔案路徑
base_dir = os.path.dirname(os.path.dirname(__file__))
#配置檔案路徑
conf = os.path.join(base_dir,'config','config.ini')
-------獲取字典
import configparser
from config import setting
class readconf:
def __init__(self):
self.config_dir = setting.conf #配置檔案路徑
self.conf = configparser.configparser() #例項化
self.conf.read(self.config_dir,encoding='utf-8') #讀取ini檔案
def readconf(self,section):
items = dict(self.conf.items(section)) #轉換成字典
return items
re = readconf()
c = re.readconf('api')
print(c)
Python中INI配置檔案的讀取
關於配置檔案,很直觀的感覺就是xml檔案。對於xml檔案的使用大家還是很喜歡的。但有時候只是簡單的乙個程式,實現乙個簡單的name value關係。用xml檔案就沒這個必要。這種要求很符合ms的ini檔案格式。所以這裡主要介紹一下對ini檔案的操作方式,而且最近寫的第乙個py應用程式也是使用了ini...
python操作ini配置檔案
usr bin env python coding utf 8 time 2018 6 22 author liuxuewen site file util ini operation.py software pycharm description ini配置檔案操作工具類 1.讀取.ini配置檔案...
python 讀取ini配置檔案
使用配置檔案裝載一些條件,以及一些對資料庫進行操作的語句等 作為對資料處理的一些外接條件。import configparser config file r format interdoc conf config configparser.configparser config.read confi...