Cómo escribir o imprimir en un archivo en Python

¿Necesita imprimir en un archivo en Python? Hoy descubriremos lo fácil que es comenzar a escribir en archivos. Cubriremos la creación de nuevos archivos, la adición de archivos existentes y la sobrescritura de archivos existentes.

Abrir un archivo para escribir en Python

Probablemente ya sepa cómo imprimir en pantalla en Python , pero es posible que no sepa cómo imprimir en un archivo. Afortunadamente, como gran parte de la programación Python para principiantes, la sintaxis de la escritura de archivos es simple, legible y fácil de entender.

Relacionado: Cómo crear, importar y reutilizar su propio módulo en Python

Con eso en mente, comencemos.

Crear y escribir en un archivo nuevo en Python

Para crear un nuevo archivo en Python y abrirlo para editarlo, use la función incorporada open () y especifique el nombre del archivo seguido del parámetro x .

 f = open("testfile.txt", "x")

Cuando utilice el parámetro "x", obtendrá un error si el nombre de archivo que especificó ya existe.

Si tiene éxito, ahora puede escribir en el archivo usando el método write () .

 f.write("Hello, world!")

Cada línea de texto que "escriba ()" terminará con un carácter de final de línea, por lo que cada cadena adicional se escribirá en una nueva línea.

Es una buena práctica cerrar siempre cualquier archivo que abra usando el método close () . De lo contrario, es posible que su archivo no se guarde en el disco.

 f.close()

También puede crear y escribir en un archivo en Python con menos líneas usando la palabra clave with .

 with open("testfile.txt", "x") as f:
f.write("Hello, world!")

Se recomienda este enfoque porque la suite "with" cerrará su archivo automáticamente después de terminar, por lo que nunca tendrá que recordar cerrarlo usted mismo.

Después de escribir su archivo, puede leerlo abriendo con el parámetro r y llamando al método read () .

 with open("testfile.txt", "r") as f:
print(f.read())

Escribir en un archivo existente en Python

Si el archivo que desea escribir ya existe, y que desea añadir líneas adicionales a la misma, que necesita para abrirlo utilizando el parámetro de "añadir".

 with open("testfile.txt", "a") as f:
f.write("I'm an additional line.")

Todo lo que escriba después de abrir con el parámetro "a" se agregará con una nueva línea.

Este código también asume que su archivo está en el mismo directorio en el que está operando su secuencia de comandos Python. Si está en un directorio diferente, deberá especificar su ruta.

Más información: cómo obtener el directorio actual en Python

Sobrescribir un archivo existente en Python

Si su archivo ya existe, pero desea que se sobrescriba en lugar de agregarlo, puede hacerlo abriendo el archivo con el parámetro w .

 with open("testfile.txt", "w") as f:
f.write("Hello, world!")

No importa lo que haya escrito en testfile.txt, la salida será "¡Hola, mundo!" cuando lo lees.

Solución de problemas de escritura de archivos en Python

Si el texto que está imprimiendo en un archivo se confunde o se lee mal, asegúrese de abrir siempre el archivo con la codificación correcta.

 with open("testfile.txt", "w", encoding="utf8") as f:

La mayoría de los archivos de texto en estos días usan codificación UTF-8, pero algunos otros comunes son ISO-8859 (iso-8859-1), UTF-16 (utf16) o Windows-1252 (cp1252).

Su cinturón de herramientas de Python ahora incluye la capacidad de imprimir en un archivo, una tarea frecuente en las secuencias de comandos.

Para ayudarlo en su viaje de aprendizaje de Python, hemos elaborado una lista de sitios web que ofrecen explicaciones detalladas y consejos sobre Python.