"通过解析器将JSON文件作为命令行参数传递,是否可行?"

2024-09-30 01:29:56 发布

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

我需要通过命令行参数解析器将json文件参数覆盖到python字典中。由于json文件位于当前工作目录中,但它的名称可以是动态的,所以我希望如下所示:

python python_script --infile json_file

python_脚本:

if __name__ == "__main__":
   profileInfo = dict()
   profileInfo['profile'] = "enterprisemixed"
   profileInfo['nodesPerLan'] = 50

ujson文件:

^{pr2}$

我尝试添加以下行,但不知道如何将此json数据加载到python字典中:-

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--infile', nargs = 1, help="JSON file to be processed",type=argparse.FileType('r'))
arguments = parser.parse_args()

Tags: 文件命令行目录名称jsonparser解析器参数
1条回答
网友
1楼 · 发布于 2024-09-30 01:29:56

读取名为 infile的JSON文件,并更新您的profileInfo

import json
import argparse

parser = argparse.ArgumentParser()
parser.add_argument(' infile', nargs=1,
                    help="JSON file to be processed",
                    type=argparse.FileType('r'))
arguments = parser.parse_args()

# Loading a JSON object returns a dict.
d = json.load(arguments.infile[0])

profileInfo = {}
profileInfo['profile'] = "enterprisemixed"
profileInfo['nodesPerLan'] = 50

print(profileInfo)
# Overwrite the profileInfo dict
profileInfo.update(d)
print(profileInfo)

相关问题 更多 >

    热门问题