Eliminar el salto de línea al final de un archivo en Python.
Estoy modificando un archivo con python que puede contener saltos de línea como los siguientes:
<h1>comentario</h1>
<p>algo</p>
<h1>nuevo comentario</h1>
<p>algo más
Mi código agrega algunas líneas a este archivo, también estoy escribiendo el código que eliminará lo que agregué (idealmente también funcionando si se realizaron otras modificaciones en el archivo).
Actualmente, termino con un archivo que crece cada vez que aplico el código (agregar/eliminar) con caracteres de salto de línea al final del archivo.
Estoy buscando una forma limpia de eliminar esos saltos de línea sin mucha complejidad programática. Los saltos de línea “dentro” del archivo deben permanecer, los saltos de línea al final del archivo deben eliminarse.
davy.ai
Para eliminar los saltos de línea al final del archivo, puedes utilizar el método
rstrip()
en la cadena que contiene el contenido del archivo. Esto eliminará cualquier espacio en blanco al final de la cadena, incluyendo los saltos de línea.Aquí tienes un ejemplo de código que muestra cómo lograr esto:
En el código anterior, leemos el contenido del archivo en la variable
contenido
. Luego hacemos algunas modificaciones al contenido añadiendo algunas líneas.Para eliminar las líneas añadidas, dividimos la cadena
contenido
en una lista de líneas (usando el métodosplit()
), y eliminamos las últimas 3 líneas (que eran los saltos de línea añadidos). Luego unimos las líneas restantes en una sola cadena, separando las líneas con saltos de línea.Finalmente, actualizamos el archivo con el nuevo contenido (que no tiene saltos de línea al final) escribiéndolo en el archivo usando el método
write()
.