很多时候我们可能采集的比较多的文章, 那么我们想把这些文章都聚合一下, 把三个txt的文本内容聚合到一起? 要实现每次合并前面三个txt文本的操作, 可以使用Python编程语言来完成. 下面提供一种基本的实现思路:
一、如何将几个txt文本合并成一个本文
1、定义一个空列表, 用于存储每个txt文本的文件名.
2、使用os模块中的listdir()函数, 读取指定目录下的所有txt文件, 并将其文件名添加到列表中.
2、遍历列表, 每次取前三个文件名, 使用Python的文件读写功能, 将这三个文件的内容依次合并到一个新的txt文件中.
4、删除已经合并的三个文件.
5、重复以上步骤, 直到所有的txt文件都被合并为止.
import os # 定义存储文件名的列表 files = [] # 获取指定目录下的所有txt文件 for filename in os.listdir('txt_files'): if filename.endswith('.txt'): files.append(os.path.join('txt_files', filename)) # 遍历列表, 每次取前三个文件名 while len(files) >= 3: file1, file2, file3 = files[:3] # 合并三个文件的内容 with open('merge.txt', 'a', encoding='utf-8') as f_out: with open(file1, 'r', encoding='utf-8') as f_in: f_out.write(f_in.read()) with open(file2, 'r', encoding='utf-8') as f_in: f_out.write(f_in.read()) with open(file3, 'r', encoding='utf-8') as f_in: f_out.write(f_in.read()) # 删除已经合并的三个文件 os.remove(file1) os.remove(file2) os.remove(file3) # 更新列表 files = files[3:] # 如果还有剩余的1或2个文件, 也进行合并 if len(files) > 0: with open('merge.txt', 'a', encoding='utf-8') as f_out: for filename in files: with open(filename, 'r', encoding='utf-8') as f_in: f_out.write(f_in.read()) os.remove(filename)
在这个示例代码中, 假设需要合并的所有txt文件都在一个名为”txt_files”的文件夹下, 合并后的结果存储在一个名为”merge.txt”的文件中. 需要注意的是, 由于合并过程中涉及到文件读写和删除操作, 一定要谨慎操作, 避免误删重要文件.
这里需要注意的是我们需要新建一个txt_files, 而且你的文本要在这个目录下面, 然后你的py脚步需要跟这个txt_files在一个目录下面才可以.