Текущий рабочий каталог 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 → "Редактировать шаблоны"
→ заполнить "Рабочий каталог"