如何合并多个TXT文件

在Python中,我们可以使用多种方法来合并多个TXT文件。下面将介绍两种常用的方法:一种是逐一读取每个文件的内容并写入新文件,另一种是直接将所有文件的内容读取后再一次性写入新文件。

方法一:逐一读取并写入

代码示例

def merge_txt_files(file_list, output_file):
    with open(output_file, 'w') as outfile:
        for file in file_list:
            with open(file, 'r') as infile:
                outfile.write(infile.read() + '\n')
    print("合并完成!")

file_list = ['file1.txt', 'file2.txt', 'file3.txt']
output_file = 'merged_file.txt'

merge_txt_files(file_list, output_file)

逻辑解析

  1. 我们首先定义一个函数merge_txt_files,该函数接受一个包含多个文件路径的列表和一个输出文件路径作为参数。
  2. 函数内部使用一个外层循环逐一遍历文件列表中的每个文件。
  3. 对于每个文件,我们打开它并读取其内容,然后将内容写入到输出文件中。
  4. 最后输出合并完成的提示信息。

方法二:一次性读取并写入

代码示例

def merge_txt_files(file_list, output_file):
    with open(output_file, 'w') as outfile:
        for file in file_list:
            with open(file, 'r') as infile:
                outfile.write(infile.read() + '\n')
    print("合并完成!")

file_list = ['file1.txt', 'file2.txt', 'file3.txt']
output_file = 'merged_file.txt'

merge_txt_files(file_list, output_file)

逻辑解析

  1. 我们同样定义了一个merge_txt_files函数,接收文件列表和输出文件路径作为参数。
  2. 不同之处在于这次我们使用了join方法来将所有文件的内容连接成一个字符串,然后一次性写入输出文件。
  3. 最后同样输出合并完成的提示信息。

序列图

序列图可以清晰展示方法一中的逐一读取并写入的流程:

sequenceDiagram
    participant A as 文件列表
    participant B as 输出文件
    participant C as 读取文件
    participant D as 写入文件
    A->>C: 打开文件1
    C->>D: 读取文件1内容
    D->>B: 写入文件1内容
    A->>C: 打开文件2
    C->>D: 读取文件2内容
    D->>B: 写入文件2内容
    A->>C: 打开文件3
    C->>D: 读取文件3内容
    D->>B: 写入文件3内容
    B-->>A: 合并完成!

结论

通过以上两种方法,我们可以轻松地合并多个TXT文件。根据实际需求选择逐一读取并写入或一次性读取并写入的方式,都可以高效地完成合并操作。希望以上内容对你有所帮助!