gpt4 book ai didi

python - 使用Python中的os.walk()模块从子文件夹中提取行?

转载 作者:行者123 更新时间:2023-12-01 04:39:27 26 4
gpt4 key购买 nike

我想打开一个文件夹中的一系列子文件夹,找到一些文本文件并打印文本文件的一些行。我正在使用这个:

from glob import glob
import fileinput
with open('output.txt', 'w') as out:
for line in fileinput.input(glob('*.')):
if 'Subject:' in line:
out.write(line)

这只适用于一个文件夹,但也无法访问子文件夹。所以我听说了 os.walk() 模块。有谁知道如何使用 os.walk() 模块访问子文件夹并提取特定行并将其粘贴到单独的 txt 文件中?

最佳答案

使用os.walkgenerator expression递归获取当前目录下的所有文件路径:

from glob import glob
import fileinput
import os

with open('output.txt', 'w') as out:
files = (os.path.join(p, f) for p, ds, fs in os.walk(os.curdir) for f in fs)
for line in fileinput.input(files):
if 'Subject:' in line:
out.write(line)
上面代码中的

fs是一个文件名列表。您需要迭代它们才能获取文件路径。

os.path.join用于通过连接父目录 p 和文件名 f 来创建路径。

关于python - 使用Python中的os.walk()模块从子文件夹中提取行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31066127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com