写一个python脚本,可以从一个文件夹遍历所有文本文件,从中找到查找到指定字符开头的信息,把之后10行的文本拷贝到新的文件上
时间: 2024-10-21 22:18:26 浏览: 18
在Python中,你可以使用`os`和`shutil`模块来遍历文件夹,`re`模块来查找匹配特定字符开头的文本,以及`open()`函数来读取和写入文件。以下是一个简单的示例脚本:
```python
import os
import shutil
import re
def copy_lines_starting_with_char(directory, char, dest_file):
# 遍历目录及其子目录
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith('.txt'): # 只处理.txt文件
with open(os.path.join(root, file), 'r') as src_file:
lines = src_file.readlines()
# 查找以指定字符开头的行,并保存其后10行
matching_lines = [line for line_num, line in enumerate(lines) if line.startswith(char)]
matching_lines += lines[min(line_num+1, len(lines)) - 9 : min(line_num+11, len(lines))]
# 如果有匹配的行,将它们写入目标文件
if matching_lines:
with open(dest_file, 'a') as dst_file:
dst_file.writelines(matching_lines)
# 使用示例
source_dir = '/path/to/source/folder'
character_to_search = 'S' # 指定搜索的字符
dest_file = '/path/to/destination/file.txt' # 新的文件路径
copy_lines_starting_with_char(source_dir, character_to_search, dest_file)
```
在这个脚本中,你需要替换`/path/to/source/folder`和`/path/to/destination/file.txt`为实际的文件夹路径和目标文件路径。运行这个脚本后,它会搜索源文件夹中所有`.txt`文件的内容,找出以指定字符开头的行,并将其后的10行复制到目标文件中。
阅读全文