1. 程式人生 > 其它 >python讀取config.ini配置檔案內容

python讀取config.ini配置檔案內容

#  config.ini檔案內容

# 定義mongo分組
[mongodb]
host = localhost
port = 27017
data = xuexiao

#  定義cmd分組
[cmd]
viewPhone=adb devices
startServer=adb start-server
stopServer=adb kill-server
install=adb install aaa.apk
id=1
weight=12.1
isChoice=True

#  定義log分組
[log]
log_debug=true
log_path=/home/webic/qly/Projects/TinyScan/dev/v1.6_TinyScan/log/
# 在程式中讀取配置檔案
"""
sys.argv[]說白了就是一個從程式外部獲取引數的橋樑,這個“外部”很關鍵,所以那些試圖從程式碼來說明它作用的解釋一直沒看明白。因為我們從外部取得的引數可以是多個,
所以獲得的是一個列表(list),也就是說sys.argv其實可以看作是一個列表,所以才能用[]提取其中的元素。其第一個元素是程式本身,隨後才依次是外部給予的引數。
['程式本身', '使用者輸入的第一個外部引數','使用者輸入的第一個外部引數'] **
config_path = sys.argv[sys.argv.index('-f')+1]這一句的意思是使用者執行檔案時比如 test.py -f /home/ubunt/config.ini 那麼獲取-f後面的路徑
sys.argv詳細看https://blog.csdn.net/program_developer/article/details/78647916
"""
# 配置檔案路徑
config_path = './config.ini'

if '-f' in sys.argv:**
    config_path = sys.argv[sys.argv.index('-f')+1]
config = configparser.ConfigParser()
config.read(config_path)**

config_mongodb_host = config.get('mongodb', 'host')
config_mongodb_port = config.getint('mongodb', 'port')
config_log_debug = config.getboolean('log', 'debug')
import configparser**


# -sections得到所有的section,並以列表的形式返回
print('sections:' , ' ' , config.sections())

# -options(section)得到該section的所有option
print('options:' ,' ' , config.options('config'))

# -items(section)得到該section的所有鍵值對
print('items:' ,' ' ,config.items('cmd'))

# -get(section,option)得到section中option的值,返回為string型別
print('get:' ,' ' , config.get('cmd', 'startserver'))

# -getint(section,option)得到section中的option的值,返回為int型別
print('getint:' ,' ' ,config.getint('cmd', 'id'))**
print('getfloat:' ,' ' , config.getfloat('cmd', 'weight'))
print('getboolean:' ,'  ', config.getboolean('cmd', 'isChoice'))
"""
首先得到配置檔案的所有分組,然後根據分組逐一展示所有
"""
for sections in config.sections():
    for items in config.items(sections):
        print(items)