【发布时间】:2019-04-29 07:28:48
【问题描述】:
这是我用来获取数据的代码:
def read_phantom():
try:
with open(phantom_file, "r") as f:
return json.load(f)
except:
return {"status": False}
这是来自文件的原始数据:{"status": true, "angle": -0.0, "speed": 0.0, "time": 1556521858546.0}
但是,我随机得到错误:No JSON object could be decoded
任何想法可能导致它?
【问题讨论】:
-
您发布的数据适用于我在 python 2.7 上。也许检查输入文件?
-
“随机”是什么意思?错误不会每次都发生?如果是这样,在哪个频率?
-
随机出错很奇怪。计算机是一个愚蠢的东西:面对相同的输入,它应该总是给出相同的输出。对可能发生的事情的疯狂猜测:读取错误的文件,在文件完全写入之前读取文件,写入时出错。为确保,您应该在
json.load周围使用try: ... except ...: ...,并在except 子句中转储文件名(或更好的路径)和文件内容 -
您确定文件是否存在?您可以添加
import os; os.path.exists(path)检查以避免文件路径问题或其他问题。