📜  Python程序将两个文件合并为第三个文件

📅  最后修改于: 2022-05-13 01:55:20.280000             🧑  作者: Mango

Python程序将两个文件合并为第三个文件

先决条件:读取和写入文件。

让给定的两个文件是file1.txtfile2.txt 。我们的任务是将这两个文件合并到第三个文件中,比如 file3.txt。以下是合并的步骤。

  1. 以读取模式打开 file1.txt 和 file2.txt。
  2. 以写入模式打开 file3.txt。
  3. 从 file1 读取数据并将其添加到字符串中。
  4. 从 file2 读取数据并将该文件的数据连接到前一个字符串。
  5. 将字符串中的数据写入file3
  6. 关闭所有文件

注意:要成功运行以下程序 file1.txt 和 file2.txt 必须存在于同一文件夹中。

假设文本文件file1.txtfile2.txt包含以下数据。

文件1.txt
Python 文件处理文件 1

文件2.txt
Python-文件处理-file2

下面是实现。

# Python program to
# demonstrate merging
# of two files
  
data = data2 = ""
  
# Reading data from file1
with open('file1.txt') as fp:
    data = fp.read()
  
# Reading data from file2
with open('file2.txt') as fp:
    data2 = fp.read()
  
# Merging 2 files
# To add the data of file2
# from next line
data += "\n"
data += data2
  
with open ('file3.txt', 'w') as fp:
    fp.write(data)

输出:
Python 文件处理文件 3

使用 for 循环

使用 for 循环可以缩短上述方法。以下是合并的步骤。

  1. 创建一个包含文件名的列表。
  2. 以写入模式打开 file3。
  3. 遍历列表并以读取模式打开每个文件。
  4. 从文件中读取数据,同时将数据写入file3。
  5. 关闭所有文件

下面是实现。

# Python program to
# demonstrate merging of
# two files
  
# Creating a list of filenames
filenames = ['file1.txt', 'file2.txt']
  
# Open file3 in write mode
with open('file3.txt', 'w') as outfile:
  
    # Iterate through list
    for names in filenames:
  
        # Open each file in read mode
        with open(names) as infile:
  
            # read the data from file1 and
            # file2 and write it in file3
            outfile.write(infile.read())
  
        # Add '\n' to enter data of file2
        # from next line
        outfile.write("\n")

输出:
Python 文件处理文件 3