Python 通过解析器将json文件作为命令行参数传递,这可能吗?
我需要通过命令行参数解析器将json文件参数覆盖到python字典中。由于json文件位于当前工作目录中,但其名称可以是动态的,因此我希望如下所示:- python脚本——内嵌json文件 python_脚本: json_文件: 我尝试添加以下行,但不知道如何将此json数据加载到python字典:-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
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)