Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过解析器将json文件作为命令行参数传递,这可能吗?_Python_Json - Fatal编程技术网

Python 通过解析器将json文件作为命令行参数传递,这可能吗?

Python 通过解析器将json文件作为命令行参数传递,这可能吗?,python,json,Python,Json,我需要通过命令行参数解析器将json文件参数覆盖到python字典中。由于json文件位于当前工作目录中,但其名称可以是动态的,因此我希望如下所示:- python脚本——内嵌json文件 python_脚本: json_文件: 我尝试添加以下行,但不知道如何将此json数据加载到python字典:- import argparse parser = argparse.ArgumentParser() parser.add_argument('--infile', nargs = 1, help

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

python脚本——内嵌json文件

python_脚本: json_文件: 我尝试添加以下行,但不知道如何将此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()

读取名为
--infle
的JSON文件,并更新您的
档案信息

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)

那么,阅读python文档就足够了:对于文件:对于JSON部分:对于args:使用lib@fmarc我已经尝试了上面的代码,我对python是新手。我知道json加载方法,但它只加载特定的文件,这在我的例子中是不需要的thanksgreat!这正是我要找的gomawoyo@有没有更具活力的解决方案?说你事先不知道文件名。如果有一个工具可以支持Json文件中的参数,那就太好了。我不太清楚为什么这里有nargs=1。有了它,结果将作为列表返回,您必须通过infle[0]对其进行索引,没有它,您只需执行json.load(arguments.infle)。
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()
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)