Programa Python para fusionar dos archivos en un tercer archivo

Prerrequisito: Leer y escribir en un archivo.

Sean los dos archivos dados file1.txt y file2.txt. Nuestra tarea es fusionar ambos archivos en un tercer archivo, digamos file3.txt. Los siguientes son pasos para fusionar.

  1. Abra file1.txt y file2.txt en modo de lectura.
  2. Abra file3.txt en modo de escritura.
  3. Lea los datos del archivo1 y agréguelos en una string.
  4. Lea los datos del archivo2 y concatene los datos de este archivo con la string anterior.
  5. Escribir los datos de la string al archivo3
  6. Cierra todos los archivos

Nota: Para ejecutar con éxito el siguiente programa, el archivo 1.txt y el archivo 2.txt deben existir en la misma carpeta.

Supongamos que los archivos de texto file1.txt y file2.txtcontienen los siguientes datos.

archivo1.txt
Python-archivo-manejo-archivo1

archivo2.txt
Python-archivo-manejo-archivo2

A continuación se muestra la implementación.

# 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)

Producción:
Python-archivo-manejo-archivo3

Uso de bucle for

El enfoque anterior se puede acortar usando for loop. Los siguientes son pasos para fusionar.

  1. Cree una lista que contenga nombres de archivos.
  2. Abra el archivo3 en modo escritura.
  3. Recorra la lista y abra cada archivo en modo de lectura.
  4. Lea los datos de los archivos y simultáneamente escriba los datos en el archivo3.
  5. Cierra todos los archivos

A continuación se muestra la implementación.

# 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")

Producción:
Python-archivo-manejo-archivo3

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *