Python - Escritura en fichero

 
Vista:

Escritura en fichero

Publicado por Carl (1 intervención) el 11/04/2019 15:13:57
Buenas,

estoy leyendo un fichero línea a línea y escribiendo en otro fichero

1
2
3
4
5
6
7
8
9
dirFichero = './fichero_r.txt'
dirFichero_w = './res.txt'
fichero = open(dirFichero_w, 'w')
with open(dirFichero, 'r') as reader:
    for l in reader:
        n=l + " -> OK"
        print(n)
        fichero.write(n)
.......

fichero_r.txt
1
2
3
4
5
Linea 1
Linea 2
Linea 3
Linea 4
...

El caso es que al escribir en el otro fichero y mostrar por pantalla lo hace de esta manera:

1
2
3
4
5
Linea 1
-> OKLinea2
-> OKLinea3
-> OKLinea4
.....

¿Al leer la linea del fichero de entrada ya incluye el salto de línea?

Alguna idea de porque ocurre esto?

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Escritura en fichero

Publicado por joel (901 intervenciones) el 11/04/2019 20:24:43
El problema esta en que al leer cada una de las lineas, al final de la misma hay un salto de linea, por eso te lo muestra así:

prueba así quitando el salto de linea:
1
2
3
4
5
6
7
8
dirFichero = './fichero_r.txt'
dirFichero_w = './res.txt'
fichero = open(dirFichero_w, 'w')
with open(dirFichero, 'r') as reader:
    for l in reader:
        n=l.strip() + " -> OK"
        print(n)
        fichero.write(n)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar