下面是一个示例的解决方法,使用Python语言实现按关键字名称将一个文件拆分为多个文件的功能:
def split_file_by_keyword(file_path, keyword):
# 打开原始文件
with open(file_path, 'r') as file:
lines = file.readlines()
# 初始化文件计数器和当前文件内容
file_count = 1
current_file_lines = []
for line in lines:
# 如果关键字出现在当前行中
if keyword in line:
# 如果当前文件有内容,将内容写入新文件
if current_file_lines:
new_file_path = f'new_file_{file_count}.txt'
with open(new_file_path, 'w') as new_file:
new_file.writelines(current_file_lines)
file_count += 1
current_file_lines = []
# 将当前行添加到当前文件内容中
current_file_lines.append(line)
# 将最后一个文件的内容写入新文件
if current_file_lines:
new_file_path = f'new_file_{file_count}.txt'
with open(new_file_path, 'w') as new_file:
new_file.writelines(current_file_lines)
# 调用示例
split_file_by_keyword('original_file.txt', 'keyword')
上述代码定义了一个名为split_file_by_keyword
的函数,该函数接收两个参数:file_path
表示原始文件的路径,keyword
表示关键字名称。函数首先打开原始文件,并逐行读取文件内容到一个列表中。然后,通过遍历列表中的每一行,判断关键字是否出现在当前行中。如果关键字出现在当前行中,则将当前文件的内容写入一个新文件,并将文件计数器加1。如果关键字没有出现在当前行中,则将当前行添加到当前文件内容中。最后,将最后一个文件的内容写入新文件。
在上述示例中,假设原始文件名为original_file.txt
,关键字为keyword
。新生成的文件名格式为new_file_1.txt
、new_file_2.txt
等。你可以根据实际需求进行修改。
上一篇:按关键字计算数组对象的频率
下一篇:按关键字排序行并分组结果