在ini文件中使用JSON路径

2024-09-30 20:29:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从配置json文件中读取json值。我在python代码中使用的json对象路径如下所示:

jsonfile['Data'][0]['Tenants'][0]['TenPropertyGroup']

现在我想从ini文件中传递上述路径"['Data'][0]['Tenants'][0]['TenPropertyGroup']",以确保如果json文件中的对象路径发生更改,我可以在ini文件中进行更改

我的config.ini看起来像:

[CONFIG]
TenPropertyGroup= ['Data'][0]['Tenants'][0]['TenPropertyGroups']

从ini文件读取后,我的python代码如下所示

globalconfig = "config.ini"
config = configparser.ConfigParser()
config.read(globalconfig)

f = open(configfile, )
jsonfile = json.load(f)

TenPropertyGroup = config['CONFIG']['TenPropertyGroup']

TenPropertyGroups = (str(jsonfile ) + TenPropertyGroup)

但是当我使用configparser在Python中阅读时,上面的PropertyGroup是字符串数据类型,我无法从json文件中获取列表

我试图从python代码中正确读取此ini,但无法将其转换为对象


Tags: 文件对象代码路径configjsondataini
1条回答
网友
1楼 · 发布于 2024-09-30 20:29:39

我建议采用不同的方法。出于安全原因,应该避免执行从文件读取的文本。如果您对ini文件值使用不同的格式,您可以解析它并使用这些值深入到json对象中。下面是一个简单的例子:

path_from_ini = 'x/y/z'

json_dict = { 'x' : { 'y' : { 'z' : 42 } } }

parts = path_from_ini.split('/')
v = json_dict

# Drill down into the JSON dictonary
for p in parts:
    v = v[p]

print(v)

相关问题 更多 >