首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:我如何从JSON文件中摄取参数?

Python:我如何从JSON文件中摄取参数?
EN

Stack Overflow用户
提问于 2015-11-24 12:39:57
回答 1查看 1.7K关注 0票数 2

我有一个包含命令行参数的python代码块,例如:

代码语言:javascript
复制
import argparse
if __name__ == "__main__":                # myScript.py
    parser = argparse.ArgumentParser()
    parser.add_argument("-i", "--int", help="Int with default", type=int, default=20)
    parser.add_argument("-swd", "--strwdef", help="string with default", type=str, default="DEFAULTSTRING")
    parser.add_argument("-snd", "--strnodef", help="string without default", type=str)
    parser.add_argument("-f", "--flag", help="binary flag", action='store_true')
    args = parser.parse_args()
    i = args.i
    swd = args.swd
    snd = args.snd
    f = args.flag

这对于这样的命令是有效的:

代码语言:javascript
复制
python myScript.py -swd SomeString --int 35 -f

我想从JSON文件中读取这些参数。问题:

  1. python 2.7中是否有内置功能来设置这一功能,而不是编写自己的解析json.load()结果的自定义代码来处理参数类型、默认值等?
  2. 如果存在,那么上面示例中JSON文件的正确格式是什么,以及如何填充变量iswd等?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-11-24 13:12:22

下面是你可以这样做的一种方法。我不确定它有多安全。JSON键应该与解析它们所需的变量相同,这样才能工作。

代码语言:javascript
复制
j = json.loads(...)
print j  # {'swd': 'someString', 'i': 35}
locals().update(j)
print swd, i  # someString 35

本地医生建议不要修改,所以使用它会有你自己的风险。

我很快想出的一个更安全的解决方法是将解析后的结果存储到字典中。从JSON导入它们时,只需更新字典即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33893970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档