簡體   English   中英

Python 如何從配置 toml 文件中獲取值

[英]Python how to get value from config toml file

您好我正在嘗試從 config.toml 文件中獲取值。 下面是 config.toml 文件:

path.repo_uat7="/home/developer/user1"
path.repo_uat12="/home/repo/user21"
database.hostname.uat7="dbname7"
database.hostname.uat12="dbname12"
database.port="1825"
db.cluster.nodes=["cluster1:15382","cluster2:15382"]

我嘗試通過以下 python 腳本獲取 path.repo_uat7 和 path.repo_uat12 的值:

#!/usr/bin/env python3
import toml
import sys, os

data = toml.load("uat7.toml")
print (toml.dumps(data))

desc = str(sys.argv[1])
st = desc.split(".")
st1 = st[0]
st2 = st[1]


for k1, v1 in data.items():
    if k1 == st1:
     for k2, v2 in v1.items():
       if k2 == st2:
         print(v2)

這就是我運行代碼的方式:python getvar.py path.repo_uat7。 我得到 output 作為

/home/developer/user1

但是如果我想獲取數據庫或者db.cluster.nodes,如何迭代多次,我沒有得到完美的解決方案。 請幫忙。

您不必重復。 您可以使用給定的鍵直接索引data for循環替換為

print(data[st1][st2])

你得到相同的 output。

同樣,您可以編寫data['database']['hostname']['uat7']來獲取"dbname7"等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM