如何在json文件中包含环境变量?

时间:2018-08-26 17:51:24

标签: json environment-variables key

我有一些看起来像这样的json文件:

{
  "firstname": "John",
  "lastname": "Doe",
  "age": 25,
  "profile": "/home/John/Pictures/john.png"
}

但是我希望它更笼统,而不只是约翰。 所以我想用$ HOME代替“ / home / John”。但这显然不适用于json文件。这是我尝试过的:

{
  "firstname": "John",
  "lastname": "Doe",
  "age": 25,
  "profile": "$HOME/Pictures/john.png"
}

我该如何解决?还是有另一种方法?

谢谢。

1 个答案:

答案 0 :(得分:0)

要在 python3 中执行变量替换,请按照以下步骤操作。

将 JSON 文件中的“$HOME”更改为“${HOME}”。 JSON 文件如下所示:

{
  "firstname": "John",
  "lastname": "Doe",
  "age": 25,
  "profile": "${HOME}/Pictures/john.png"
}

下面的脚本指示如何替换。

import os
import json

#Pass the above JSON file and create a file object

fileObj = open('nameOFJsonFile.json',)

#Convert JSON and parse as Python Dictionary

jsonDict = json.load(fileObj)

#Substitute the value wherever required using os.path.expandvars

jsonDict["profile"]=os.path.expandvars(jsonDict["profile"])