it-swarm.com.ru

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

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

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

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

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

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

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

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

19
qwertyuip9

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

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

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

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

25
Dan

Правка: Run> Edit Configurations> Working directory, , Которая задает рабочий каталог для конкретного проекта. (Это на Mac)

31
andere

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

import os

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

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

0
user9203442

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

0
Poland

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

0
mithunpaul

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

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

0
BeneIT