无法打开位于子目录 python 内的文件

Unable to open file located inside subdirectory python

我想从结构如下的目录中的特定文件中读取数据:

-Directory
  -Subdirectory1
    -AGreek.srt
    -AEnglish.srt
  -Subdirectory2
    -BGreek.srt
    -BEnglish.srt
-test.py

其中 test.py 是我的脚本,我应该只读取 Directory 中的英文文件。这是我当前的脚本:

import os

substring = 'English.srt'

for root, subdirs, files in os.walk('Directory'):
    for filename in files:
        if substring in filename:
            fp = open(os.path.abspath(filename))
            # Further Action

然而,这给了我以下错误:

FileNotFoundError: [Errno 2] No such file or directory: '/home/coder/Spam/AEnglish.srt'

如何解决错误? (P.s.:SpamDirectorytest.py所在的文件夹)

您需要使用 os.path.join(root,filename) 访问该文件。

例如:

import os

substring = 'English.srt'

for root, subdirs, files in os.walk('Directory'):
    for filename in files:
        if substring in filename:
            fp = open(os.path.join(root,filename))
            # Further Action