Python在json模块中找不到数据的路径
我努力制作一个用户可以查询json数据集的交互式词典,但由于我的无能,这一努力遭到了阻碍;有人能帮我吗 如图所示,我在python目录中工作,并且在windows上使用python 我的代码Python在json模块中找不到数据的路径,python,json,dictionary,Python,Json,Dictionary,我努力制作一个用户可以查询json数据集的交互式词典,但由于我的无能,这一努力遭到了阻碍;有人能帮我吗 如图所示,我在python目录中工作,并且在windows上使用python 我的代码 import json, os data = json.load(open('data.json')) def translate(word): return data(word) word = input("enter word: ") print(translate(word)) 首先
import json, os
data = json.load(open('data.json'))
def translate(word):
return data(word)
word = input("enter word: ")
print(translate(word))
首先,您需要了解
data.json的实际路径是什么,一个编程选项是使用,请尝试以下选项:
import json, sys, os
def translate(word):
return data(word)
try:
print(os.path.abspath('data.json'))
print(os.getcwd())
data = json.load(open('data.json'))
word = input("enter word: ")
print(translate(word))
except Exception as e:
print(e)
你会发现数据。json
并没有像你想象的那样存在。导入json,操作系统
“data.json”在哪里?除非data.json在运行
python解释器解释器将无法找到该文件。
data=json.load(打开('data.json'))
如果您将数据作为函数调用,以下操作将不起作用。尝试数据[单词]
def翻译(word):返回数据(word)
word=输入(“输入word:”)
打印(翻译(word))如果您的data.json
位于liblib
下,则代码可能如下所示:
import json, os
data = json.load(open(os.path.join('Lib', 'data.json')))
def translate(word):
return data(word)
word = input("enter word: ")
print(translate(word))
你的json文件和脚本在同一个目录下吗?嗨,是的,我会这么说。我的json文件路径是-C:\Python27\Lib\json,我的脚本在-C:\Python27中。open函数只在同一个目录中查找,而不在子目录中查找。因此,如果您的脚本位于C:\Python27
中,则在C:\Python27\Lib
中找不到文件。您好,谢谢您的回复。当我运行它时,我得到了以下信息:C:\Python27\data.json C:\Python27[Errno 2]没有这样的文件或目录:“data.json”输入word:novel Traceback(最后一次调用):文件“C:/Python27/tst.py”,第13行,在word=input中(“输入word:”)file“,第1行,在NameError:name'nearoil'未定义>>>@David好的,那么,这就意味着当您在open函数中使用'data.json'时,真正试图读取的路径是C:\Python27\data.json
,现在,如果您打开windows资源管理器并转到那里,该路径中是否存在该文件?这就是错误的原因。因此,您需要使用“data.json”所在的路径。假设您的路径是c:\python27\lib\data.json,您应该在open函数中使用“c:\\python27\\lib\\data.json”。另一方面,尽量避免这样的硬编码路径,并使用