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

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

整个错误:

C:\Users\Desktop\texts>python similarity1.py
Traceback (most recent call last):
  File "similarity1.py", line 19, in <module>
    documents = [open(f, encoding="utf-8").read() for f in text_files]
  File "similarity1.py", line 19, in <listcomp>
    documents = [open(f, encoding="utf-8").read() for f in text_files]
FileNotFoundError: [Errno 2] No such file or directory: 'apempe_chunks.txt'

以及产生特定错误的代码:

import os
import codecs
import string, re
from pathlib import Path


path = "C:\Users\Desktop\texts\dataset"
text_files = os.listdir(path)

documents = [open(f, encoding="utf-8").read() for f in text_files]
sparse_matrix = tfidf_vectorizer.fit_transform(documents)

奇怪的是程序找到了文件 dataset.

中的 apempe_chunks.txt

我已经研究过 SO 中的问题,但我无法解决它。

为了解决这个错误,我将 similarity1.py 移动到 dataset 文件夹中,我将其添加到我的代码 if f.endswith('.txt')] 中,现在它可以正常工作了。

所以现在完整的代码是

documents = [open(f, encoding="utf-8").read() for f in text_files if f.endswith('.txt')]

确保我只处理数据集目录中的每个 .txt,不包括 python 脚本本身或其他文件。

这个想法来自 this 个答案线程,一个与我类似的问题。