FileNotFoundError:[错误2]尽管肯定存在该文件或目录

时间:2019-02-27 22:07:02

标签: python file path

我一直在尝试这段代码,尝试打开目录中的多个文件。该目录包含10个文本文件。我想打开每个文件,对其进行一些处理(即删除停用词),然后将转换后的文本输出到其他目录中的新文件中。但是,我有这个问题:

  

FileNotFoundError:[错误2]没有这样的文件或目录:'1980'

该文件肯定在目录中,并且我一直在提供绝对路径。打开文件之前,我已经查看了当前的工作目录,它没有返回我给它的绝对路径,而是返回了该项目所在的目录。非常感谢获得代码以打开所需文件并将结果写入输出文件的帮助!这是我的代码:

path = 'C:/Users/User/Desktop/mini_mouse'
output = 'C:/Users/User/Desktop/filter_mini_mouse/mouse'
for root, dir, files in os.walk(path):
    for file in files:
        print(os.getcwd())
        with open(file, 'r') as f, open('NLTK-stop-word-list', 'r') as f2:
            x = ''
            mouse_file = f.read().split()  # reads file and splits it into a list
            stopwords = f2.read().split()
            x = (' '.join(i for i in mouse_file if i.lower() not in (x.lower() for x in stopwords)))
            with open('out', 'w') as output_file:
                output_file.write((' '.join(i for i in mouse_file if i.lower() not in (x.lower() for x in stopwords))))

2 个答案:

答案 0 :(得分:0)

您在Windows上吗?每当我在Windows上执行绝对路径时,都需要使用backslash()进行路径而不是正斜杠(/)。

答案 1 :(得分:0)

您的代码存在问题,因为'1980'并不是文件的完整路径,而仅仅是string。您应该像下面这样附加路径的其余部分,例如使用path.join

with open(os.path.join(path, file), 'r') as f, open(os.path.join(path, 'NLTK-stop-word-list'), 'r') as f2:

然后Python将能够找到该文件并以读取模式打开它。