我有一个示例 Json,其中包含作为文件名的键和作为文件路径的值。例如:
{
"sqlFiles":{
"sqlQueryPath": "tmp/r/test.sql"
},
"csvFiles": {
"firstSampleInput": "tmp/c/sample.csv",
"secondSampleInput": "tmp/c/sample1.csv"
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个函数,它将键作为输入,将返回值作为输出。像这样的东西:
def readFilePath(key):
with open('filePaths.json', 'r') as f:
config = json.load(f)
value = config[key]
return value
Run Code Online (Sandbox Code Playgroud)
如果该键可用作根元素,那么我的函数完全可以工作,但如果该键以嵌套格式可用,就像它在 json 中一样,那么我的函数将失败。
我将使用 json 路径调用该函数,如下所示:
readFilePath("sqlFiles.sqlQueryPath")
Run Code Online (Sandbox Code Playgroud)
解析格式路径的函数需要进行哪些更改config["sqlFiles"]["sqlQueryPath"]
这是一种方法。使用简单的迭代。
演示:
key = "sqlFiles.sqlQueryPath"
def readFilePath(key):
config = {
"sqlFiles":{
"sqlQueryPath": "tmp/r/test.sql"
},
"csvFiles": {
"firstSampleInput": "tmp/c/sample.csv",
"secondSampleInput": "tmp/c/sample1.csv"
}
}
for i in key.split("."):
if i in config:
config = config[i]
else:
return None
return config
print(readFilePath(key))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4349 次 |
| 最近记录: |