Текущий рабочий каталог PyCharm

В последнее время я не могу использовать относительные пути в моем коде при использовании PyCharm. Например, простой open('test.txt', 'r') не будет работать, после чего я уверен, что файл существует на том же уровне, что и файл py. PyCharm вернет эту ошибку.

FileNotFoundError: [Errno 2] Нет такого файла или каталога:

После чтения ответов в Интернете по StackOverflow, я попробовал несколько опций, включая:

  • Изменение test.txt на ./test.txt
  • Закройте проект, удалив папку .idea, откройте папку с кодом.
  • Переустановка, а также установка последней версии PyCharm.
  • Недействительные кеши и перезапуск.

Ни один из этих вариантов не работал у меня. Могу ли я сказать PyCharm, чтобы обновить текущий рабочий каталог (или даже увидеть, где он думает о текущей рабочей директории)?

Спасибо заранее!

Изменить: я должен отметить, что запуск script в окне терминала будет работать. Это, по-видимому, проблема с PyCharm, а не с script.

Ответы

Ответ 1

У меня есть Pycharm 4.5, поэтому все могло немного измениться.

Попробуйте выполнить настройки > Проект > Структура проекта

В этом диалоговом окне выберите папку, в которой есть исходный код, а затем щелкните синюю папку в меню, чтобы отметить ее как папку "источник". Я считаю, что это исправляет много проблем с контентом в Pycharm

Вот ссылка на "корни содержимого": https://www.jetbrains.com/pycharm/help/content-root.html

Ответ 2

Изменить: Запустить > Изменить конфигурации > Рабочий каталог, который устанавливает рабочий каталог для конкретного проекта. (Это на Mac)

Ответ 3

__file__ относится к пути к файлу. Таким образом, вы можете использовать следующее для ссылки на файл в том же каталоге:

import os

dirpath = os.path.dirname(__file__)
filepath = os.path.join(dirpath, 'test.txt')
open(filepath, 'r')

Ответ 4

В PyCharm нажмите "запустить/редактировать конфигурации..."

Затем найдите файл скрипта в выпадающем меню "Python". Проверьте запись "Рабочий каталог" и при необходимости измените ее.

Ответ 5

Иногда это не так. Я решил свою проблему, щелкнув "Выполнить" на панели инструментов Pycharm, а затем "Редактировать конфигурации...", и я изменил свой интерпретатор на другой фактический. Просто изменение его в настройках не помогает, но эта операция уже делает;)

Ответ 6

У меня тоже была такая же проблема несколько минут назад... но в последней версии PyCharm она решается простым использованием относительного пути к этому файлу.. Например, простой f = open ('test', 'r') будет работать.

Ответ 7

Небольшое уточнение для пользователей Mac. В mac сказанное выше @andere правильно для настройки рабочего каталога. Однако, если ваш код находится в другой папке, скажем working_dir/src/ (например, классическая файловая структура java/scala), в этом случае вам все равно нужно установить свой корень источников. В Mac PyCharm это можно сделать, щелкнув правой кнопкой мыши по папке src/> Отметить каталог как> Корень источника. Помог мне с множеством подобных проблем с импортом. Надеюсь, это кому-нибудь поможет.

Ответ 8

Текущая версия 2019.2 почему-то игнорирует "исходный корень" из "структуры проекта". Вот как на самом деле обеспечить его соблюдение:

Выполнить → Изменить настройки → Python → "Редактировать шаблоны" this buttin → заполнить "Рабочий каталог"