PYTHON- agregando números de línea a la salida

Por ejemplo, si el archivo de entrada es:

def main(): for i in range(10): print("I love python") print("Good bye!") 

Entonces la salida sería:

 1 def main(): 2 for i in range(10): 3 print("I love python") 4 print("Good bye!") 

Tengo dificultad para añadir líneas a cada línea. ¡por favor ayuda! Mi progtwig es:

 UPDATED*** filename = input("Please enter a file name: ") count = 0 openfile = open(filename, "r") for lines in openfile: linenumbers = openfile.write(str(count)+'\t'+lines) count += 1 print(count) 

Use una instrucción with para cerrar el búfer de archivos y solo concatenar cadenas:

 with open('file.txt', 'r') as program: data = program.readlines() with open('file.txt', 'w') as program: for (number, line) in enumerate(data): program.write('%d %s' % (number + 1, line)) 

Usted debe agregar:

 newFile = open(yourfile, 'w') count = 1 for line in readfile: newFile.write (str(count)+'\t'+line) count+=1 newFile.close() 

EDIT1: si solo desea imprimir en la consola, escriba (de acuerdo con los nombres de las variables que ha usado en su segunda edición):

 for lines in openfile: print str(count)+'\t'+lines count+=1 

¡Pero deberías hacer tus tareas tú mismo!

Yo escribiría así:

 with open(path) as src: for index, line in enumerate(src.readlines(), start=1): print '{:4d}: {}'.format(index, line.rstrip()) 

o

 with open(path) as src: print '\n'.join(['{:4d}: {}'.format(i, x.rstrip()) for i, x in enumerate(src.readlines(), start=1)])