我有一个名为 的文件夹study,其中有一个名为的 JSON 文件data.json,但是当我尝试在同一文件夹中的 python 脚本中打开它时,我得到FileNotFoundError: [Errno 2] No such file or directory: 'data.json'.
然而,当我使用完整的绝对路径时data.json,它就有效了。
data.json如何解决此问题,以便我可以指定与 .py 文件位于同一文件夹中的路径?
这是我的代码:
import json
data = json.load(open("data.json"))
def translate(w):
return data[w]
word = input("Enter word: ")
print(translate(word))
Run Code Online (Sandbox Code Playgroud)
使用__file__。这将使您能够指定相对于 Python 脚本文件位置的路径。
import os
data_file_path = os.path.join(os.path.dirname(__file__), "data.json")
data = json.load(open(data_file_path))
Run Code Online (Sandbox Code Playgroud)
或者,使用pathlib而不是os:
from pathlib import Path
data_file_path = Path(__file__).parent / "data.json"
data = json.load(open(data_file_path))
Run Code Online (Sandbox Code Playgroud)