import os
# 定义特定字符串
target_strings = ['vvv', 'fff', 'eee']
# 遍历每个子文件夹
for subdir1 in os.listdir('.'):
if not os.path.isdir(subdir1):
continue
# 遍历每个子文件夹的子文件夹
for subdir2 in os.listdir(subdir1):
subpath = os.path.join(subdir1, subdir2)
if not os.path.isdir(subpath):
continue
# 遍历每个txt文件
for filename in os.listdir(subpath):
if not filename.endswith('.txt'):
continue
filepath = os.path.join(subpath, filename)
with open(filepath, 'r') as f:
for line in f:
# 判断特定字符串是否在该行中
for target in target_strings:
if target in line:
# 获取特定字符串所在的上一层文件夹名称
parent_dirname = os.path.basename(os.path.dirname(subpath))
# 去除特定字符串后保存行的内容
content = line.replace(target, '').strip()
# 保存结果到文件
with open('result.txt', 'a') as result_file:
result_file.write(parent_dirname + '\t' + content + '\n')