Как изменить рабочий каталог по умолчанию для Python (Anaconda) на VSCode? - PullRequest
0 голосов
/ 02 ноября 2018

Итак, я пытался открыть очень простые файлы, такие как: inputFile = open("keywords.txt", "r")

Но я получаю эту ошибку:

FileNotFoundError: [Errno 2] No such file or directory: 'keywords.txt'

Это должно быть потому, что по умолчанию рабочий каталог Python не является тем, где находится мой файл .py (поправьте меня, если я ошибаюсь). Как найти точный путь к каталогу, в котором я работаю, а затем изменить на него рабочий каталог по умолчанию Python?

Примечание: я нахожусь на OSX Mojave с использованием VSCode и Anaconda (Python 3.6)

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Мы должны различать два понятия : "working directory" и "python environment". Когда вы входите в VS code из Anaconda, вы попадаете в Anaconda virtual python environment и по умолчанию directory.

Вы можете проверить это с помощью первого слева значка - " Explorer ". Здесь вы найдете структуру каталогов, в которой фактически находится ваш файл .py. Но иногда файл, который ищет .py, может находиться в каком-то другом каталоге. Если вы хотите запустить программу на Python с некоторыми дополнительными файлами, хранящимися в общем каталоге, тогда я предпочитаю использовать некоторую переменную для установки рабочего каталога:

work_dir = "path/to/working_directory"

Использование

import os
path = os.join(work_dir, somefile.txt)

Если файлы, используемые программой python, имеют сложную структуру каталогов, то изменение рабочего каталога не будет решением. Хотя, когда программист использует относительные пути, это может быть.

В VS Code есть терминал , где вы можете проверить текущую среду и каталог Anaconda в режиме оболочки bash. Когда вы запустите программу, вы увидите, в какой среде и с какими параметрами ваш файл .py действительно работает.

0 голосов
/ 02 ноября 2018

По умолчанию «текущим рабочим каталогом» Python является папка, в которой он находится. Хотя это может отличаться при использовании Anaconda

Это распечатает ваш текущий каталог

import os
print(os.getcwd())

Это изменит ваш каталог

os.chdir('Your new file path here')

Затем сделайте еще один print(os.getcwd()), чтобы убедиться, что он работает

...