Как VS Code относится к локальности файлов при открытии папки? - PullRequest
1 голос
/ 15 апреля 2019

Я работаю над проектом, в котором я ссылаюсь на файл в той же папке, что и мой palindromes.py файл:

import load_dictionary

word_list = load_dictionary.load('words.txt')

pali_list = []

for word in word_list:
    if len(word) > 1 and word[:] == word [::-1]:
        pali_list.append(word)

print(f'\nNumber of palindromes found = {len(pali_list)}')

print(*pali_list, sep='\n')

Когда я открываю VS Code в этой папке, код работает правильно:

VS Code in the folder

Однако, если я открою VS Code выше по дереву каталогов, то при переходе вниз я получаю «файл не найден», если не использую полный путь:

higher up the tree

Это как это должно работать? Я бы подумал, что (если бы я находился в правильной папке в древовидной структуре), Python знал бы, что нужно запустить в этой папке .

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

В зависимости от того, как вы выполняете свой код, ваш текущий рабочий каталог будет установлен в верхней части вашего рабочего пространства, поэтому Python думает, что вы работаете с learning-python, а не с 02_finding_palingram_spells. Если вы используете Python 3, вы можете сделать:

import os
import pathlib

word_path = pathlib.Path(__spec__.origin).parent / "words.txt"
word_list = load_dictionary.load(os.fspath(word_path))
0 голосов
/ 16 апреля 2019

Попробуйте с "."в начале.Например:

word_list = load_dictionary.load('./02_finding_palingram_spells/words.txt')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...