Podemos abrir varios archivos a la vez y operar con ellos juntos:
with open('doc1.txt') as d1, open('doc2.txt', 'w') as d2:
text = d1.read() # Leer todo desde doc1.txt
d2.write(text) # Escribir el contenido en doc2.txt
print('Done copying the content')
Aquí hemos abierto doc1.txt en modo r (lectura) y doc2.txt en modo w (escritura). Varias operaciones open se separan por una coma. En el cuerpo del bloque with, todos los archivos abiertos son accesibles y podemos realizar diferentes operaciones con ellos.
Desafío
Al desarrollar un sistema de detección de similitudes, decides comparar dos archivos. Te gustaría saber el porcentaje de palabras que están presentes en ambos archivos.
El primer archivo es source.txt y el segundo es student.txt. Calcula el número de palabras únicas en ambos archivos e imprime el porcentaje de las palabras únicas en source.txt que también están presentes en student.txt.
source.txt
student.txt
Output
Line 1
Line two
Line is important
33.333333
Line 1
Line two
Line 3
Line 1 is important
Yes
50
Explicación del primer ejemplo: Hay 3 palabras únicas en source.txt (Line, 1, two). La palabra Line también está presente en student.txt; por lo tanto, el 33.33333% de las palabras de source.txt también están presentes en el segundo archivo.