Python中配置檔案的使用

2021-07-27 19:18:33 字數 3150 閱讀 3557

因為專案的需要,要用到python載入配置檔案。本文主要參考了

a) 配置檔案中包含乙個或多個 section, 每個 section 有自己的 option;

b) section 用 [sect_name] 表示,每個option是乙個鍵值對,使用分隔符 = 或 : 隔開;

c) 在 option 分隔符兩端的空格會被忽略掉

d) 配置檔案使用 # 和 ; 注釋

下面給出乙個配置檔案的例子。

[mongodb]

host = amaster

[kafka]

bootstrap_servers = amaster:9092,anode1:9092,anode2:9092

[log]

log_file_name = kuaidaili_spider.log

[zookeeper]

conn_str = amaster:2181,anode1:2181,anode2:2181

測試**:

#-*- coding: utf-8 -*-

import configparser

def func():

cp = configparser.safeconfigparser()

cp.read('kuaidaili_spider.cfg')

print 'mongodb host',cp.get('mongodb','host')

print 'kafka bootstrap_servers',cp.get('kafka','bootstrap_servers')

print 'log file name',cp.get('log','log_file_name')

print 'zookeeper conn string',cp.get('zookeeper','conn_str')

if __name__ == '__main__':

func()

輸出結果:

mongodb host amaster

kafka bootstrap_servers amaster:9092,anode1:9092,anode2:9092

log file name kuaidaili_spider.log

zookeeper conn string amaster:2181,anode1:2181,anode2:2181

下面的內容來自

配置檔案如果包含 unicode 編碼的資料,需要使用 codecs 模組以合適的編碼開啟配置檔案。

[msg]

hello = 你好

config_parser_unicode.py

import configparser

import codecs

cp = configparser.safeconfigparser()

cp.readfp(f)

print cp.get('msg', 'hello')

通常情況下, option 是乙個鍵值對。但是,當 safeconfigparser 的引數 allow_no_value 設定成 true 時,它允許 option 不設定值而只是作為乙個標識。

allow_no_value.conf

# option as flag

[flag]

flag_opt

allow_no_value.py

import configparser

cp = configparser.safeconfigparser(allow_no_value = true)

print cp.get('flag', 'flag_opt'); # none

allow_no_value 預設設定成 false,此時如果配置檔案中存在沒有設定值的 option,在讀取配置檔案時將丟擲異常

configparser.parsingerror。當 allow_no_value 設定成 true 時,如果乙個 option 沒有設定值,has_option 方法會返回 true,get 方法會返回 none。

如果配置檔案中存在乙個名為 default 的 section,那麼其他 section 會擴充套件它的 option 並且可以覆蓋它的 option。

db.conf

[default]

host = 127.0.0.1

port = 3306

[db_root]

user = root

pass = root

[db_huey]

host = 192.168.1.101

user = huey

pass = huey

default_section.py

print cp.get('db_root', 'host')    # 127.0.0.1

print cp.get('db_huey', 'host') # 192.168.1.101

safeconfigparser 提供了插值的特性來結合資料。

python配置檔案的使用

將所有的 和配置都變成模組化可配置化,這樣就提高了 的重用性,不再每次都去修改 內部,這個就是我們逐步要做的事情,可配置化 模組 from configparser import configparser configparser是python自帶的模組,用法如下 1.建立configparser物...

python中yaml配置檔案模組的使用

和gnu一樣,yaml是乙個遞迴著說 不 的名字。不同的是,gnu對unix說不,yaml說不的物件是xml。yaml不是xml。為什麼不是xml呢?因為 上面5條也就是xml不足的地方。同時,yaml也有xml的下列優點 yaml可以基於流來處理 yaml表達能力強,擴充套件性好。總之,yaml試...

python中配置檔案的使用方法

專案中使用的常量,我們把它收集在乙個檔案中,這就是配置檔案。配置檔案在專案中是非常必要的,它避免了專案中檔案對常量的分散使用,讓常量可以統一修改,避免造成修改不全面的問題。常用的配置檔案字尾是.ini conf py,當然還有使用.json txt的,推薦使用常用的.ini py,配置檔案的名字一般...