Obtener el número de líneas en un archivo en Python
-
Obtener el número de líneas en un archivo en Python usando las funciones
open()
ysum()
-
Obtener el número de líneas en un archivo en Python usando el método
mmap.mmap()
-
Obtenga el número de líneas en un archivo en Python usando el método
file.read()
Este tutorial demostrará varios métodos para obtener el número total de líneas en un archivo en Python. Para obtener el número total de líneas de un archivo, primero necesitamos leer los datos del archivo en un búfer, y podemos hacerlo cargando el archivo completo de una vez o leyendo los datos en pequeños fragmentos si el tamaño del archivo es grande.
Veremos cómo podemos implementar ambos enfoques utilizando varios métodos en Python, que se explican a continuación con un código de ejemplo:
Obtener el número de líneas en un archivo en Python usando las funciones open()
y sum()
Una forma sencilla de obtener el número de líneas en un archivo es iterando a través de cada línea del objeto de archivo devuelto por la función open()
.
La función open(file, mode)
toma file
como entrada y devuelve un objeto de archivo como salida. Un file
es un objeto similar a una ruta que puede ser una cadena o un objeto de bytes y contiene la ruta del archivo. El mode
representa el modo en el que queremos abrir el archivo, como leer, escribir, añadir modo, etc.
El siguiente código de ejemplo demuestra cómo usar el bucle for
para obtener el número de líneas en un archivo en Python.
with open("myFolder/myfile.txt") as myfile:
total_lines = sum(1 for line in myfile)
print(total_lines)
Obtener el número de líneas en un archivo en Python usando el método mmap.mmap()
El método mmap.mmap(fileno, length)
asigna el número de bytes de length
del archivo especificado por el fileno
y devuelve un objeto mmap
. Si el valor de length
es 0
, la longitud máxima del mapa será igual al tamaño del archivo.
Podemos usar el objeto mmap
devuelto por el método mmap.mmap()
y luego usar el método mm.readline()
para acceder a las líneas hasta llegar al final del archivo. Como queremos cargar el archivo completo, pasaremos 0
como argumento de length
.
Código de ejemplo:
import mmap
with open("myFolder/myfile.txt", "r+") as myfile:
mm = mmap.mmap(myfile.fileno(), 0)
total_lines = 0
while mm.readline():
total_lines += 1
print(total_lines)
Obtenga el número de líneas en un archivo en Python usando el método file.read()
Si el tamaño del archivo es enorme y necesitamos una forma rápida de leer el archivo en trozos pequeños, podemos usar el método file.read()
para leer los datos como un array de bytes en un búfer con el tamaño especificado.
El siguiente código de ejemplo demuestra cómo leer los datos del archivo en un búfer usando el método file.read()
y luego iterar a través de él para obtener el número de líneas:
lines = 0
size = 1024 * 1024
with open(r"C:\test\file.txt", "r+") as myfile:
read_file = myfile.read
buffer = read_file(size)
while buffer:
lines += buffer.count("\n")
buffer = read_file(size)
if lines != 0:
lines += 1
print(lines)
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn