Как открыть файл, расположенный в той же папке, что и скрипт Python - PullRequest
0 голосов
/ 04 мая 2020

У меня есть папка с именем 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))

Ответы [ 2 ]

3 голосов
/ 04 мая 2020

Использование __file__. Это позволит вам указать пути относительно местоположения вашего файла скрипта Python.

import os

data_file_path = os.path.join(os.path.dirname(__file__), "data.json")
data = json.load(open(data_file_path))

В качестве альтернативы можно использовать pathlib вместо os:

from pathlib import Path

data_file_path = Path(__file__).parent / "data.json"
data = json.load(open(data_file_path))
0 голосов
/ 04 мая 2020
import os

os.getcwd()

os.chdir('path to study folder')

Проверьте, какой у вас текущий рабочий каталог. Изменить при необходимости.

...