加载 JSON 数据时出错 - 找不到文件

问题描述 投票:0回答:5

我一直在尝试解决这个问题,但现在我需要一些帮助。我正在尝试在 Spyder IDE 中上传此 JSON 文件 (DBL)。我已将 JSON 数据文件和 Spyder 文件存储在同一个映射中,以便读取 JSON 文件,但它不起作用。

我的Python代码:

import json 

file = open("dbl")

dbl = json.load(file)

print(dbl)

每次上传json文件时,与spyder.py文件在同一个地图中,它无法识别文件目录。

我已将 .py 文件存储在 the same folder as JSON 文件中。

这是错误消息:

FileNotFoundError: [Errno 2] No such file or directory: 'dbl.json'
python json file directory filenotfounderror
5个回答
0
投票

该文件实际上不存在。实际的文件名是 dbl.json.json。

import json 
file = open("dbl.json.json")
dbl = json.load(file)
print(dbl)

0
投票

您将在文件路径中使用“.json”。 例如:

file = open("dbl.json")

0
投票

如果 dbl 是 json 文件的名称,那么您也应该添加“.json”扩展名。你可以这样做:

   
# Opening JSON file
f = open('dbl.json',)
   
# returns JSON object as 
# a dictionary
data = json.load(f)
   
# Iterating through the json
# list
for i in data:
    print(i)
   
# Closing file
f.close()```




0
投票

代码很好,但是,添加文件扩展名是一个很好的做法。看起来您忘记添加扩展程序。 您正在使用相对路径。建议使用绝对路径。这种情况下,请将python脚本和db1文件放在同一目录下,然后重试。

如果您想调试,只需在脚本顶部添加以下代码即可查看该文件是否存在,并相应地修改脚本。

import os; 
print(os.listdir())

0
投票

我认为任何答案都不正确。如果您使用非默认序列化方法来序列化数据并将其保存在 Json 文件中,那么当您尝试打开该文件时,显然 Json 无法识别该文件。与后缀无关。 Json 文件不需要以“json”作为后缀命名。这与有时人们会采取定制的方法并覆盖 Json 序列化的默认方法有关。当您不尝试将序列化数据保存在文件中时,这很好。您正在读取或打开的文件可能没有以“经典”方式序列化,并且 Json 的发行者将其识别为合法的 Json 文件。

© www.soinside.com 2019 - 2024. All rights reserved.