Saltar al contenido

Python file.write creando un retorno de carro adicional

Esta sección fue analizado por expertos así garantizamos la exactitud de nuestra esta reseña.

Solución:

n se convierte en os.linesep para archivos abiertos en modo texto. Así que cuando escribes os.linesep a un archivo en modo texto en Windows, escribe rny el n se convierte dando como resultado rrn.

Ver también los documentos:

No use os.linesep como un terminador de línea al escribir archivos abiertos en modo de texto (el predeterminado); use un solo ‘n’ en su lugar, en todas las plataformas.

Con Python 3

open() introduce el nuevo parámetro newline que permite especificar un string que cualquier ocurrencia de n se traducirá a.

Pasando un vacío string argumento newline='' deshabilita la traducción, dejando el nuevo carácter de línea como está. Válido solo para modo texto.

De la documentación

En la salida, si nueva línea es Ninguno, los caracteres ‘n’ escritos se traducen al separador de línea predeterminado del sistema, os.linesep. Si nueva línea es ”, no se realiza ninguna traducción. Si nueva línea es cualquiera de los otros valores legales, los caracteres ‘n’ escritos se traducen al dado string.

Los archivos de texto tienen finales de línea diferentes en diferentes sistemas operativos, pero es conveniente trabajar con cadenas que tienen un carácter de final de línea uniforme. Python hereda la convención de C de usar 'n' como el carácter de final de línea universal y confiando en las funciones de lectura y escritura del archivo para realizar una conversión, si es necesario. Las funciones de lectura y escritura saben hacer esto si el archivo se abrió de forma predeterminada. text modo. Si agregas el b carácter al modo string al abrir el archivo, se salta esta traducción.

Puedes añadir valor a nuestra información añadiendo tu experiencia en los comentarios.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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