Lectura de un archivo de texto con python: se omite la primera línea

Tengo un archivo llamado prueba que tiene los contenidos:

a b c d e f g 

Estoy usando el siguiente código de Python para leer este archivo línea por línea e imprimirlo:

 with open('test.txt') as x: for line in x: print(x.read()) 

El resultado de esto es imprimir el contenido del archivo de texto, excepto la primera línea, es decir, el resultado es:

 b c d e f g 

¿Alguien tiene alguna idea de por qué podría faltar la primera línea del archivo?

Porque for line in x itera a través de cada línea.

 with open('test.txt') as x: for line in x: # By this point, line is set to the first line # the file cursor has advanced just past the first line print(x.read()) # the above prints everything after the first line # file cursor reaches EOF, no more lines to iterate in for loop 

Tal vez quisiste decir:

 with open('test.txt') as x: print(x.read()) 

para imprimirlo todo de una vez, o:

 with open('test.txt') as x: for line in x: print line.rstrip() 

Para imprimirlo línea por línea. Se recomienda este último ya que no es necesario cargar todo el contenido del archivo en la memoria de una vez.