无法打开位于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,但我无法在此代码中实现它。如何获取行号并仅读取特定行?我尝试使用枚举方法,但不确定如何正确执行它。你能帮忙吗