Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python在json模块中找不到数据的路径_Python_Json_Dictionary - Fatal编程技术网

Python在json模块中找不到数据的路径

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)) 首先

我努力制作一个用户可以查询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))

首先,您需要了解
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
位于lib
lib
下,则代码可能如下所示:

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”。另一方面,尽量避免这样的硬编码路径,并使用