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

无法打开位于python子目录内的文件,python,file-handling,Python,File Handling,我想从结构如下的目录中读取特定文件的数据: -Directory -Subdirectory1 -AGreek.srt -AEnglish.srt -Subdirectory2 -BGreek.srt -BEnglish.srt -test.py 其中test.py是我的脚本,我应该只读取目录中的英文文件。这是我当前的脚本: import os substring = 'English.srt' for root, subdirs, files in

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

-Directory
  -Subdirectory1
    -AGreek.srt
    -AEnglish.srt
  -Subdirectory2
    -BGreek.srt
    -BEnglish.srt
-test.py
其中test.py是我的脚本,我应该只读取
目录
中的英文文件。这是我当前的脚本:

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'

如何解决错误?(注意:
Spam
目录和
test.py
所在的文件夹)

您需要使用

os.path.join(root,filename)
访问该文件

Ex:

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

工作完美!顺便说一句,还有一个问题,我想把第3行、第7行、第11行等等打印到文件末尾。我该怎么做?逻辑将检查第4行是否=3,但我无法在此代码中实现它。如何获取行号并仅读取特定行?我尝试使用枚举方法,但不确定如何正确执行它。你能帮忙吗