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

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

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

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

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

Заранее спасибо!

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

38
qwertyuip9 16 Дек 2015 в 07:39

8 ответов

Лучший ответ

У меня есть Pycharm 4.5, так что все могло бы немного измениться.

Попробуйте перейти в Настройки> Проект> Структура проекта

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

Вот ссылка на «корни контента»: https://www.jetbrains.com/pycharm/help/ контента root.html

36
Dan 16 Дек 2015 в 04:52

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

0
Fioletibiel 9 Июн 2018 в 10:16

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

0
mithunpaul 19 Ноя 2018 в 01:39

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

import os

dirpath = os.path.dirname(__file__)
filepath = os.path.join(dirpath, 'test.txt')
open(filepath, 'r')
4
falsetru 16 Дек 2015 в 05:03

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

Выполнить -> Изменить конфигурации -> Python -> «Изменить шаблоны» this buttin -> заполнить «Рабочий каталог»

0
Ufos 9 Сен 2019 в 14:47

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

0
user9203442 18 Июл 2018 в 08:20

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

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

2
BeneIT 8 Авг 2018 в 09:05

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

44
andere 2 Янв 2016 в 15:27