Python - 从子目录中找不到目录文件中的文件(在那里)

Rel*_*ve0 3 python file-processing

我确信它只是语法 - 我无法弄清楚为什么我的代码:

import os
from collections import Counter
d = {}
for filename in os.listdir('testfilefolder'):
    f = open(filename,'r')
    d = (f.read()).lower()
    freqs = Counter(d)
    print(freqs)
Run Code Online (Sandbox Code Playgroud)

将无法正常工作 - 它显然可以看到'testfilefolder'文件夹并告诉我该文件存在,即找不到错误消息'file2.txt'.所以它可以找到告诉我它没有找到...

然而,我得到这段代码:

from collections import Counter
d = {}
f = open("testfilefolder/file2.txt",'r')
d = (f.read()).lower()
freqs = Counter(d)
print(freqs)
Run Code Online (Sandbox Code Playgroud)

奖金 - 这是做我想做的事情的好方法(从文件中读取并计算单词的频率)?这是我使用Python的第一天(虽然我有一些编程exp.)

我不得不说我喜欢Python!

谢谢,

布赖恩

ise*_*dev 6

更改:

f = open(filename,'r')
Run Code Online (Sandbox Code Playgroud)

至:

f = open(os.path.join('testfilefolder',filename),'r')
Run Code Online (Sandbox Code Playgroud)

这实际上是你在做什么:

f = open("testfilefolder/file2.txt",'r')
Run Code Online (Sandbox Code Playgroud)

原因:您在'testfilefolder'(当前目录的子目录)中列出文件,但随后尝试在当前目录中打开该文件.