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.
- Abra file1.txt y file2.txt en modo de lectura.
- Abra file3.txt en modo de escritura.
- Lea los datos del archivo1 y agréguelos en una string.
- Lea los datos del archivo2 y concatene los datos de este archivo con la string anterior.
- Escribir los datos de la string al archivo3
- 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.txt
contienen los siguientes datos.
archivo1.txt
archivo2.txt
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:
Uso de bucle for
El enfoque anterior se puede acortar usando for loop. Los siguientes son pasos para fusionar.
- Cree una lista que contenga nombres de archivos.
- Abra el archivo3 en modo escritura.
- Recorra la lista y abra cada archivo en modo de lectura.
- Lea los datos de los archivos y simultáneamente escriba los datos en el archivo3.
- 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:
Publicación traducida automáticamente
Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA