En comparación con Java (en una cadena), haría algo como "First Line\r\nSecond Line"
.
Entonces, ¿cómo haría eso en Python para escribir varias líneas en un archivo normal?
python
line-breaks
file-writing
FabianCook
fuente
fuente
print
funciona comoSystem.out.println
en Java y agrega automáticamente una nueva línea después del texto, ¿verdad?print
declaración en Python también se puede usar para escribir en archivos (los detalles difieren entre Python 2.xy Python 3.x, así que verifique con los documentos de referencia para su versión).print
en Python 2.x -print
en Python 3.xRespuestas:
Depende de qué tan correcto quieras ser.
\n
generalmente hará el trabajo. Si realmente quiere hacerlo bien, busque el carácter de nueva línea en elos
paquete . (En realidad se llamalinesep
).Nota: cuando escriba en archivos usando la API de Python, no use el
os.linesep
. Solo usa\n
; Python lo traduce automáticamente al carácter de nueva línea adecuado para su plataforma.fuente
"\r\n"
. Esto significa queos.linesep
será"\r\n"
. Cuando escribe en un archivo en modo de texto, realiza una traducción de nueva línea a medida que escribe; es decir, cada uno"\n"
de los resultados se traducirá"\r\n"
en el archivo resultante. Puede ver cómo esto es un problema si el texto que está escribiendo ya contiene"\r\n"
secuencias: el resultado estará"\r\r\n"
al final de cada línea. Asumo, al menos: en realidad no lo he probado.os.linesep
propuesta incorrecta , ¿no? No sería un gran drama y el orgullo del autor no sufriría mucho, creolinesep
existe y existe para que pueda averiguar cuál es el separador de línea del sistema.linesep
Todavía puede ser útil.El nuevo carácter de línea es
\n
. Se usa dentro de una cadena.Ejemplo:
¿Dónde
\n
está el personaje de nueva línea?Esto produciría el resultado:
Si usa Python 2, no usa los paréntesis en la función de impresión.
fuente
Puede escribir en las nuevas líneas por separado o dentro de una sola cadena, lo que es más fácil.
Ejemplo 1
Entrada
Puede escribir el '\ n' por separado:
Salida
Ejemplo 2
Entrada
Como otros han señalado en las respuestas anteriores, coloque el \ n en los puntos relevantes de su cadena:
Salida
fuente
Si está ingresando varias líneas de texto a la vez, creo que este es el formato más legible.
El \ al final de cada línea escapa a la nueva línea (lo que causaría un error).
fuente
En Python puedes usar el carácter de nueva línea, es decir
\n
fuente
La solución más simple
Si solo llama
print
sin ningún argumento, generará una línea en blanco.Puede canalizar la salida a un archivo como este (considerando su ejemplo):
No solo es independiente del sistema operativo (sin siquiera tener que usar el
os
paquete), sino que también es más legible que ponerlo\n
dentro de las cadenas.Explicación
La
print()
función tiene un argumento de palabra clave opcional para el final de la cadena, llamadoend
, que por defecto es el carácter de nueva línea del sistema operativo, por ejemplo.\n
. Entonces, cuando llamasprint('hello')
, Python está imprimiendo'hello' + '\n'
. Lo que significa que cuando llamaprint
sin ningún argumento, en realidad se imprime'' + '\n'
, lo que da como resultado una nueva línea.Alternativa
Use cadenas de varias líneas.
fuente
Interruptor de línea independiente de la plataforma: Linux, Windows e IOS
Salida:
fuente
De la misma manera
'\n'
, aunque probablemente no necesites el'\r'
. ¿Hay alguna razón por la que lo tienes en tu versión de Java? Si lo necesita / desea, puede usarlo de la misma manera en Python también.fuente
\r
es el retorno de carro, cuando obtiene la propiedad del sistema para la nueva línea aparece como\r\n
\n
es el único personaje de nueva línea.\n
.\ n - la inserción de caracteres de nueva línea simple funciona:
fuente
La mayoría de los caracteres de escape en literales de cadena de Java también son válidos en Python, como "\ r" y "\ n".
fuente
Como se menciona en otras respuestas: "El nuevo carácter de línea es \ n. Se usa dentro de una cadena".
Encontré que la forma más simple y fácil de leer es usar la función "formato", usando nl como el nombre de la nueva línea, y dividir la cadena que desea imprimir en el formato exacto que va a imprimir:
Eso generará:
De esta forma, realiza la tarea y también proporciona una alta legibilidad del código :)
fuente
\ n separa las líneas de una cadena. En el siguiente ejemplo, sigo escribiendo los registros en un bucle. Cada registro está separado por
\n
.fuente
Vale la pena señalar que cuando inspecciona una cadena usando el shell interactivo de Python o un cuaderno Jupyter, las
\n
cadenas y otras barras con barra invertida como\t
se representan literalmente :Las nuevas líneas, pestañas y otros caracteres especiales no impresos se representan como espacios en blanco solo cuando se imprimen o se escriben en un archivo:
fuente