1. 程式人生 > >python 配置檔案解析

python 配置檔案解析

python配置檔案解析(json,xml,ini)

前言

當我們在使用python時,時常會出現需要一些配置資訊的情況,比如說python與Mysql連線時,如果能夠集中所需要的引數資訊,做成一個配置檔案。在需要時解析這些配置檔案,就可以方便以後的修改。

配置檔案介紹

常用的配置檔案有三種:json、xml、ini.

json

JSON 鍵值對是用來儲存 JS 物件的一種方式,和 JS 物件的寫法也大同小異,鍵/值對組合中的鍵名寫在前面並用雙引號 “” 包裹,使用冒號 : 分隔,然後緊接著值:
conf.json

{
  "database":{
    "host
":"192.168.1.101", "user":"JavaMan", "passwd":"2360838724", "db":"job-hunting" }
}

json.py

import json

def get_info():
    with open('db.json') as f:
        v=json.load(f)['database']
        host=v['host']
        user=v['user']
        passwd=v['passwd']
        db=v['db']
        return
host,user,passwd,db if __name__ == '__main__': print(get_info())

xml

xml編碼配置檔案解析比較臃腫,但可以實現配置
config.xml

<?xml version='1.0'encoding='utf-8'?>
<config>
    <host>192.168.1.101</host>
    <user>JavaMan</user>
    <passwd>2360838724</passwd>
    <db
>
job-hunting</db> </config>

xml.py

import xml.etree.ElementTree as ET

ini

專案中的配置檔案,它是整個專案共用的。所以它要有一個專案使用的檔名,其後綴是.ini。例如:埠配置.ini

1)讀取配置檔案

  • read(filename) 直接讀取ini檔案內容
  • sections() 得到所有的section,並以列表的形式返回
  • options(section) 得到該section的所有option
  • items(section) 得到該section的所有鍵值對
  • get(section,option) 得到section中option的值,返回為string型別
  • getint(section,option) 得到section中option的值,返回為int型別,還有相應的getboolean()和getfloat() 函式。

2)寫入配置檔案

  • add_section(section) 新增一個新的section
  • set( section, option, value) 對section中的option進行設定,需要呼叫write將內容寫入配置檔案。

config.ini

[config]
host = 192.168.1.101
user = JavaMan
passwd = 2360838724
db = job-hunting

ini.py

import configparser

#載入現有配置檔案
conf=configparser.ConfigParser()

#新增section
conf.add_section('config')

#新增值
conf.set('config','host','192.168.1.101')
conf.set('config','user','JavaMan')
conf.set('config','passwd','2360838724![這裡寫圖片描述](https://img-blog.csdn.net/2018030419421455?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzQ3NDUyOTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)')
conf.set('config','db','job-hunting')

#寫入檔案
with open('config.ini','w') as fw:
    conf.write(fw)

#讀取配置檔案
conf.read('config.ini')

#讀取配置資訊
host=conf.get('config','host')
user=conf.get('config','user')
passwd=conf.get('config','passwd')
db=conf.get('config','db')

#輸出配置資訊
print(host,user,passwd,db)

這裡寫圖片描述

總結

採用ini配置檔案比較簡單,並且方便改寫配置資訊,其次是json配置檔案,在後是xml編碼配置檔案

相關推薦

python 配置檔案解析

python配置檔案解析(json,xml,ini) 前言 當我們在使用python時,時常會出現需要一些配置資訊的情況,比如說python與Mysql連線時,如果能夠集中所需要的引數資訊,做成一個配置檔案。在需要時解析這些配置檔案,就可以方便以後的

python configparser配置檔案解析器使用詳解

configparser簡介 python2下該模組名為ConfigParser,到3才改為configparser,可以看官方ConfigParser模組的說明 ConfigParse 官方文件 python3中configparser模組的使用,confi

Python】configparser配置檔案解析

python之configparser配置檔案解析器 此模組提供了 ConfigParser類,該類實現了一種基本配置語言,該語言提供了類似於Microsoft Windows INI檔案中的結構。您可以使用它來編寫可以由終端使用者輕鬆定製的Python程式。 註解: 此庫

Python模組:配置檔案解析器configparser

python 讀寫配置檔案ConfigParser模組是python自帶的讀取配置檔案的模組,通過他可以方便的讀取配置檔案。注意,在python3中ConfigParser模組被改名為configparser了。寫個專案,用到資料庫,多個地方使用,不能硬編碼。很類似java的

nginx1-dns域名解析|nginx入門|win下搭建|配置檔案解析

DNS域名解析器 DNS,域名系統,是網際網路上作為域名和IP地址相互對映的一個分散式資料庫 目的:將域名轉化成ip 過程 ------------------本機------------------ 1.輸入網址(www.163.com) 2.瀏覽器檢查快取中有沒有這個域名

Tomcat配置檔案解析

Tomcat作為一個開源的輕量級web容器,使用非常廣泛; 其配置檔案一般都在 server.xml中配置; server.xml中的每一個元素都對應tomcat的一個元件,位於 tomcat的conf目錄下面 一個完整的 server.xml(tomcat 7) <?xml ve

circos配置檔案解析

歡迎關注微信公眾號《生信修煉手冊》! Circos 的核心就是配置檔案的編寫,在配置檔案中,包含兩個方面的內容: 資料 引數 作為一款視覺化工具,毫無疑問肯定是需要建立在資料的基礎上的。有了資料之後,如何展示,會有許多的引數需要設定和調整,這些引數就是我們需要

python配置檔案處理模組

import configparser class ReadConfig: '''read config file''' def read_config(self,file_path,section,option): cf = configparser.Co

JavaEE-SSM:007 Mybatis的配置檔案解析(4)

1.系統級別的typeHandler   2.自定義typeHandler   想要自己實現typeHandler,需要實現TypeHandler<T>介面,T就是你要轉換的Java型別 setParameter(PreparedSta

JavaEE-SSM:006 Mybatis的配置檔案解析(3)

別名主要用於Mapper的xml檔案指定輸入型別或者返回結果型別的名稱的時候,替代全限定名。(前文已經提及如何使用別名)   1.系統級別的typeAlias(類型別名)     2.自定義別名   這裡的alias屬性值得是

JavaEE-SSM:005 Mybatis的配置檔案解析(2)

setting配置不常用,給出配置說明:     本文給出Setting配置的全量程式碼:   <settings> <setting name="cacheEnabled" value="true"

JavaEE-SSM:004 Mybatis的配置檔案解析(1)

1.配置項:不可顛倒順序     2.Properties配置   好處就是:一處配置,多處使用。當然不嫌麻煩,直接配置,不使用property也是可以的。 在Properties下配置相關的配置Property:name是引用的時候的名稱

JavaEE-SSM:009 Mybatis的配置檔案解析(6)

檔案型別轉換器(不常用)   假設資料庫有blob格式的欄位儲存需求: 對應著POJO的byte陣列: ResultMap中有對應的typeHandler配置:   當然,我們可以在POJO中使用InputStream替代byte陣列,但

JavaEE-SSM:008 Mybatis的配置檔案解析(5)

1.系統級列舉typeHandler--EnumOridinalTypeHAndler 資料庫儲存為數字 //建立一個列舉 public enum SexEnum { MALE(1,"男"), FEMALE(0,"女"); private int id;

Spring Boot(17)配置檔案解析

Spring Boot(17)配置檔案解析   前言 上一篇介紹了Spring Boot的入門,知道了Spring Boot使用“習慣優於配置”(專案中存在大量的配置,此外還內建了一個習慣性的配置,讓你無需手動進行配置)的理念讓你的專案快速執行起來。所以,我們要想把Spr

TCP/IP協議學習(二) LWIP使用者自定義配置檔案解析

 LWIP協議支援使用者配置,可以通過使用者裁剪實現最優化配置,LWIP預設包含opts.h作為系統預設配置,不過通過新增lwipopts.h檔案幷包含在opts.h標頭檔案之前就可以對lwip進行使用者裁剪,這裡給出相關引數的含義,不過具體專案還應該根據實際情況裁剪。 #ifn

ehcache配置檔案解析以及記憶體結構

<?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=

C語言面向物件程式設計:配置檔案解析(6)

在實際專案中,經常會把軟體的某些選項寫入配置檔案。 Windows 平臺上的 INI 檔案格式簡單易用,本篇文章利用《C語言面向物件程式設計(五):單鏈表實現》中實現的單鏈表,設計了一個“類” ini_parser 來讀寫 INI 格式的配置檔案。     

Mybatis配置檔案解析過程詳解

記錄是一種精神,是加深理解最好的方式之一。 這篇文章能夠幫你 學會如何對Mybatis進行有效配置,理解對應的配置含義,知其然知其所以然。 學會在Mybatis預設實現無法滿足需求的時候怎麼去擴充套件。 從構建SqlSessionFactory說起        

python - 配置檔案

1 #配置檔案 2 #.ini .properties .conf 等都是配置檔案 3 #section 片段[]; option 選項 4 #同一個section下option都是唯一的 5 6 #語法 7 #[secion] 8 #option = values 9 #...