【问题标题】:running JSON from python issues从 python 问题运行 JSON
【发布时间】:2018-02-21 08:17:28
【问题描述】:

仍然有错误。从 pyton 运行 json 时这样的构造失败:

JSON:

$ cat test1.jsonbk {"01-create-directories": {"command":"mkdir -p /home/ec2- user/data3/opt/ODS"}}

Python:

猫解析.py

导入 json 导入系统 导入子流程 从 pprint 导入 pprint

jdata = open(sys.argv[1])

数据 = json.load(jdata)

打印“开始” subprocess.call(data['script'], shell=True) 打印“结束” jdata.close()

输出:

 python parse.py test1.jsonbk
  start
  Traceback (most recent call last):
  File "parse.py", line 11, in <module>
  subprocess.call(data['script'], shell=True)
  KeyError: 'script'

TIA

【问题讨论】:

  • 请修正您问题的格式,我不确定哪个代码属于您问题的哪个部分。
  • 您的文件不是有效的 json。它正在使用 dict 花括号换行。

标签: python json


【解决方案1】:

您要加载的字符串不是有效的 json 格式。你需要使用:

'{"01-cd": {"command": "mkdir -p /perm/opt/ODS", "cwd": "/"}}'

【讨论】:

  • 谢谢于尔根。
【解决方案2】:

您的文件不是有效的 JSON。该数据需要包含在{} 中。

【讨论】:

  • 仍有错误。请看更新。谢谢。
  • @daimne:您尝试访问一个名为 'script' 的密钥,该密钥不存在于您的数据中。
  • 谢谢。当我将 python 中的“脚本”更改为“命令”时 - 它也给了我错误。我必须在 python 中进行哪些更改才能使 json 代码正常工作?
  • 只有当我删除标签“01-create-directories”时它才有效。我必须在 python 脚本中进行哪些更改才能使 json 代码正常工作?
猜你喜欢
  • 2020-07-07
  • 1970-01-01
  • 1970-01-01
  • 2013-01-23
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 2022-11-12
  • 2019-12-28
相关资源
最近更新 更多