中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3中常見配置文件寫法有哪些

發布時間:2022-08-11 14:26:44 來源:億速云 閱讀:142 作者:iii 欄目:開發技術

這篇文章主要介紹“Python3中常見配置文件寫法有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python3中常見配置文件寫法有哪些”文章能幫助大家解決問題。

配置文件寫法

關于配置文件的寫法, 常用的 大致有:

- ini

- json

- toml

- yaml

接下來,我們就詳細聊一聊 這四種常用配置文件的寫法。

1 ini

ini 即 Initialize ,最早是在 Windows 上配置文件的存儲格式。

ini 文件的寫法通俗易懂,往往比較簡單,通常由節(Section)、鍵(key)和值(value)組成,就像以下形式

localdb.ini

[localdb]
Host  = 127.0.0.1
user   = root
password = 888888
port   = 3306
database = mysql

Python 本身內置的 configparser 標準庫,我們直接就可以用來對 ini 文件進行解析。

如我們將上述內容保存在一個名為 test1.ini 的文件中,然后使用 read() 方法來進行解析和讀取,最后通過 items() 方法來獲取指定節點下的所有鍵值對。

代碼示例:

# -*- coding:utf-8 -*-
# @Time   : 2022-08-04
# @Author : Carl_DJ

from configparser import ConfigParser
cfg = ConfigParser()

db_path= cfg.read("D:\Project\Project\localdb.ini")
#配置文件路徑
print(f"配置文件路徑:{db_path}")

db_msg = cfg.items("localdb")
#配置文件內容
print(f"配置文件內容:{db_msg}")

運行結果

配置文件路徑:['D:\\Project\\Project\\localdb.ini']
配置文件內容:{'host': '127.0.0.1', 'user': 'root', 'password': '888888', 'port': '3306', 'database': 'mysql'}

注意點

configparser 默認將值以字符串的形式呈現。

上面代碼,獲取到鍵值對后,我們再來轉換成字典,然后再進行傳參。

代碼示例

# -*- coding:utf-8 -*-
# @Time   : 2022-08-04
# @Author : Carl_DJ

from configparser import ConfigParser
import pymysql

cfg = ConfigParser()

db_path= cfg.read("D:\Project\Project\localdb.ini")
#配置文件路徑
#print(f"配置文件路徑:{db_path}")

#對內容轉換成字典
db_msg = dict(cfg.items("localdb"))
#鏈接數據庫
con = pymysql.connect(**db_msg)

2 json

看到json,不要驚訝, 因為json也可以以配置文件存在的。

例如:

  • npm(JavaScript 包管理工具類似 Python 的 pip)、

  • 微軟出品的目前被廣泛使用的 VSCode 編輯器

都使用 json 編寫配置參數。

當然 json也是python標準庫。

我們通過load() 和loads()方法來導入文件式和字符串的 json 內容。

localdb.json

{
    "localdb":{
        "host": "127.0.0.1",
        "user": "root",
        "password": "888888",
        "port": 3306,
        "database": "mysql"
    }
}

代碼示例

# -*- coding:utf-8 -*-
# @Time   : 2022-08-04
# @Author : Carl_DJ

import json
from pprint import pprint

with open("D:\Project\Project\localdb.json") as js:
    cfg = json.load(js)['localdb']
    #以json格式輸出
    pprint(cfg)

運行結果:

{'database': 'mysql',
 'host': '127.0.0.1',
 'password': '888888',
 'port': 3306,
 'user': 'root'}

3 toml

toml 格式(或 tml 格式)是 Github 聯合創始人 Tom Preston-Werner 所提出的一種配置文件格式。

toml 格式:

Python3中常見配置文件寫法有哪些

從樣例中可以看出,toml 有點類似于前面所講的 ini 文件。但是它比 ini 擴展了更多的內容。

當然,如果要使用toml,就需要先安裝。

老規矩:

pip install toml

其它安裝方式,直接看這兩篇:

Python3自動安裝第三方庫,跟pip說再見

Python:一行代碼,導入Python所有庫

localdb.toml

[mysql]
host     = "127.0.0.1"
user     = "root"
port     = 3306
database = "test"

  [mysql.parameters]
  pool_size = 5
  charset   = "utf8"

  [mysql.fields]
  pandas_cols = [ "id", "name", "age", "date"]

代碼示例

# -*- coding:utf-8 -*-
# @Time   : 2022-08-04
# @Author : Carl_DJ

import toml,os
from pprint import pprint

cfg = toml.load(os.path.expanduser("D:\Project\Project\localdb.toml"))
pprint(cfg)

運行結果

{'mysql': {'database': 'test',
           'fields': {'pandas_cols': ['id', 'name', 'age', 'date']},
           'host': '127.0.0.1',
           'parameters': {'charset': 'utf8', 'pool_size': 5},
           'port': 3306,
           'user': 'root'}}

可以看到 toml 文件被間接地轉化成了字典類型。

4 yaml

yaml 格式(或 yml 格式)是目前較為流行的一種配置文件,它早在 2001 由一個名為 Clark Evans 的人提出;

同時它也是目前被廣泛使用的配置文件類型,典型的就是 Docker 容器里的 docker-compose.yml 配置文件。

YAML 官方早已經提供了相應的 Python 庫進行支持,即 PyYAML,

所以,第一步,需要安裝

pip install pyyaml

用法:

與 json 庫和 toml 庫一樣,通過 load() 方法來進行加載。

但是,考慮到安全性, 所以,最好是使用 safe_load() 來代替 load() 方法

localdb.yaml

mysql:
  host: "127.0.0.1"
  port: 3306
  user: "root"
  password: "888888"
  database: "test"

  parameter:
    pool_size: 5
    charset: "utf8"

  fields:
    pandas_cols: 
      - id
      - name
      - age
      - date

代碼示例:

# -*- coding:utf-8 -*-
# @Time   : 2022-08-04
# @Author : Carl_DJ

import os
from pprint import pprint

with open("D:\Project\Project\localdb.json") as ya:
	cfg = yaml.safe_load(ya)
	pprint(cfg)

運行結果:

{'mysql': {'database': 'test',
           'fields': {'pandas_cols': ['id', 'name', 'age', 'date']},
           'host': '127.0.0.1',
           'parameter': {'charset': 'utf8', 'pool_size': 5},
           'password': '888888',
           'port': 3306,
           'user': 'root'}}

可以看到最后結果和前面的 toml 庫的解析結果基本一致。

關于“Python3中常見配置文件寫法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民乐县| 富源县| 琼海市| 米林县| 赤水市| 遂川县| 鹤庆县| 云和县| 荃湾区| 大丰市| 陇南市| 铜山县| 鹤山市| 民勤县| 林周县| 东丽区| 通榆县| 资阳市| 会东县| 长宁县| 正阳县| 上高县| 泗洪县| 休宁县| 北票市| 英吉沙县| 琼结县| 尼木县| 桂阳县| 威海市| 灵丘县| 尼玛县| 闸北区| 贵德县| 安义县| 乌兰县| 虎林市| 新泰市| 高台县| 读书| 乐平市|