Hola a todos, tengo un pequeño problema al ejecutar:
f = open("1.txt","r")
for cadena in f.read().split('\n'):
print len(cadena)
f.close()
pasa que cuando lo ejecuto sale
3
3
3
3
cuando lo que quiero es que aparesca el total de las lineas, osea que si el archivo txt tiene 200 que salga el numero 200. Gracias
Lo que estas haciendo es contar la cantidad de caracteres por línea no la cantidad total de líneas. Para lo que necesitas, sólo debes hacer un len() a la tupla que te regresa split() y no recorrerla como lo estás haciendo
f = open("1.txt","r")
print len(f.read().split("\n"))
f.close()
O para no usar el split, puedes usar el método readlines:
f = open("1.txt","r")
print len(f.readlines())
f.close()
Saludos!
Gracias 11Sep fue muy util y sencillo. Saludos
Hola, muy buenos días !
A pesar de que las soluciones están dadas, nunca es malo exponer un código reducido :
print len([x for x in open(raw_input("Archivo:"))])
O un equivalente:
print sum([1 for x in open(raw_input("Archivo:"))])
Saludos !
un raw_input en una lista por comprensión? no lo habia pensado, interesante :D
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
un raw_input en una lista por comprensión? no lo habia pensado, interesante :D
Soy fan número 1 de las listas por comprensión :P , me quedaron grabadas cuando aprendí Haskell jaja
Saludos !