如何打开与Python脚本位于同一文件夹中的文件

Ami*_*ehi 1 python

我有一个名为 的文件夹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)

Jea*_*ett 7

使用__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)