我正在开发一个项目,我正在引用与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,那么向下导航我得到'找不到文件',除非我使用完整路径:
这是它应该如何工作?我原以为(只要我在树结构中的正确文件夹中)Python就知道要在该文件夹中运行。
试试“。”在开始。例如:
word_list = load_dictionary.load('./02_finding_palingram_spells/words.txt')
根据您执行代码的方式,您当前的工作目录将设置为工作区的顶部,因此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))