Contar número de lineas en un fichero con Python

Hola a todos, os voy a enseñar como se cuenta el número de lineas en un fichero con Python.

Fichero que vamos a utilizar:

linea1

linea2

linea3

Para saber el numero de lineas, de una forma rápida en Python es la siguiente:


fichero = open('datos', 'r')

print (len(fichero.readlines())) # devolvera 3

fichero.close()

Tenemos que tener en cuenta que leera las lineas desde donde estamos, por ejemplo:


fichero = open('datos', 'r')

fichero.readline()

print (len(fichero.readlines())) # devolvera 2

fichero.close()

La forma de solucionar esto es con seek:


fichero = open('datos', 'r')

fichero.readline()

fichero.seek(0)

print (len(fichero.readlines())) # devolvera 3

fichero.close()

Te dejo una simple función para que la utilices en tus proyectos con un ejemplo:


def numLineasFichero(fichero):

	try:
		fichero.seek(0)
		return len(fichero.readlines())
	except AttributeError:
		print("Debes insertar un fichero")
		return -1

fichero = open('datos', 'r')

print(numLineasFichero(fichero))

fichero.close()


def numLineasFicheroRuta(ruta):
	numLineas = -1
	try:
		fichero = open(ruta, 'r')
		numLineas = len(fichero.readlines())
		fichero.close()
	except AttributeError:
		print("Debes insertar un fichero")
	except FileNotFoundError:
		print("la ruta no es correcta")
	return numLineas


print(numLineasFichero('datos')) #Si la ruta no es correcta, da error

Copia solo el def.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

 

Etiquetas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *