0

目前,我正在尝试在 PyCharm 中制作最简单的 JSON5 阅读器,它可以从某些 Windows 路径读取文件。

我遇到的是一个完全未知的错误,在我第 5 次或第 6 次尝试读取 JSON5 后,它似乎突然出现。

读取 .json 一直很好,直到发生某些事情(我不确定到底是什么)并且它突然发现一个“п”无处不在(Ctrl + F 没有给出任何结果)并且每次都开始抛出异常。

我搜索了很多网站,但没有发现任何有用的东西或遇到过这个问题的其他人。

C:\Users\User\jsonTest\venv\Scripts\python.exe "C:/Users/User/jsonTest/test.py"
Traceback (most recent call last):
  File "C:\Users\User\jsonTest\test.py", line 3, in <module>
    jsonData = json5.load(resultsFile)
  File "C:\Users\User\jsonTest\venv\lib\site-packages\json5\lib.py", line 46, in load
    return loads(s, encoding=encoding, cls=cls, object_hook=object_hook,
  File "C:\Users\User\jsonTest\venv\lib\site-packages\json5\lib.py", line 82, in loads
    raise ValueError(err)
ValueError: <string>:1 Unexpected "п" at column 1

Process finished with exit code 1

我正在执行的代码:

import json5
with open("level.json", "r+") as resultsFile:
    jsonData = json5.load(resultsFile)

来自 level.json 的数据:

{"random": 5, "data": 1}
4

1 回答 1

1

这是 Unicode 字节顺序标记的开始。您应该添加encoding='utf-8-sig'到您的open调用中,让它查找 BOM。

于 2022-02-23T22:46:35.547 回答