打开文件夹时VS Code如何处理文件位置?

问题描述 投票:1回答:2

我正在开发一个项目,我正在引用与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就知道要在该文件夹中运行。

python visual-studio-code
2个回答
0
投票

试试“。”在开始。例如:

word_list = load_dictionary.load('./02_finding_palingram_spells/words.txt')

0
投票

根据您执行代码的方式,您当前的工作目录将设置为工作区的顶部,因此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))
© www.soinside.com 2019 - 2024. All rights reserved.