Python:SyntaxError:解析时意外的EOF

时间:2016-12-15 00:51:25

标签: python json

我正在尝试从外部文件中读取字典对象,然后从另一个文件中读取它。 (文件内部的对象显然不是json文件,即使文件名具有json扩展名。)

import json 
import ast


with open('remeeting_media-get-response.json', 'r') as data:
    s = data.read()
    a = ast.literal_eval(s)
    type(a)

但是,我收到以下未知错误:

Traceback (most recent call last):
  File "/Users/me/Desktop/data/finished/Dashlane/diarization.py", line 8, in <module>
    a = ast.literal_eval(s)
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ast.py", line 49, in literal_eval
    node_or_string = parse(node_or_string, mode='eval')
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 0

    ^
SyntaxError: unexpected EOF while parsing
[Finished in 0.1s with exit code 1]

这是文件中的示例内容:

{
  "lines": [
    {
      "duration": 1.8899999999999999,
      "line": "these cop ooh",
      "interval": [
        0.0,
        1.8899999999999999
      ],
      "speaker": "Speaker_2"
    },
    {
      "duration": 5.9500000000000002,
      "line": "[noise] hello [noise]",
      "interval": [
        2.3199999999999998,
        8.2699999999999996
      ],
      "speaker": "Speaker_1"
    },
    {
      "duration": 1.5600000000000001,
      "line": "ooh",
      "interval": [
        2081.6900000000001,
        2083.25
      ],
      "speaker": "Speaker_2"
    }
  ]
}

我也尝试将其加载为json对象,但它不会将其识别为json。

import json 
import ast


with open('remeeting_media-get-response.json', 'r') as data:
    raw = json.load(data)
    print raw

见输出:

Traceback (most recent call last):
  File "/Users/me/Desktop/data/finished/Dashlane/diarization.py", line 7, in <module>
    raw = json.load(data)
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 291, in load
    **kw)
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 382, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

0 个答案:

没有答案