¿Cómo leer líneas específicas de un archivo en Python?

Los archivos de texto se componen de contenido de texto sin formato. Los archivos de texto también se conocen como archivos planos o archivos sin formato. Python proporciona un soporte sencillo para leer y acceder al contenido dentro del archivo. Los archivos de texto se abren primero y luego se accede al contenido en el orden de las líneas. De forma predeterminada, los números de línea comienzan con el índice 0. Hay varias formas de leer líneas específicas de un archivo de texto en python, este artículo tiene como objetivo discutirlas. 

Archivo en uso: prueba.txt

Método 1: objeto de archivo.readlines()

Se puede crear un objeto de archivo en Python y luego se puede invocar el método readlines() en este objeto para leer líneas en una secuencia. Se prefiere este método cuando se necesita acceder simultáneamente a una sola línea o a un rango de líneas de un archivo. Se puede usar fácilmente para imprimir líneas desde cualquier índice inicial aleatorio hasta algún índice final. Inicialmente lee todo el contenido del archivo y guarda una copia en la memoria. A continuación, se accede a las líneas en los índices especificados. 

Ejemplo:

Python3

# open the sample file used
file = open('test.txt')
  
# read the content of the file opened
content = file.readlines()
  
# read 10th line from the file
print("tenth line")
print(content[9])
  
# print first 3 lines of file
print("first three lines")
print(content[0:3])

Producción 

décima línea
 

Esta es la línea 10.

primeras tres lineas
 

Esta es la línea 1. Esta es la línea 2. Esta es la línea 3.

Método 2: paquete linecache 

El paquete linecache se puede importar en Python y luego usarse para extraer y acceder a líneas específicas en Python. El paquete se puede utilizar para leer varias líneas simultáneamente. Hace uso del almacenamiento en caché para realizar la optimización internamente. Este paquete abre el archivo por sí mismo y llega a la línea en particular. Este paquete tiene el método getline() que se usa para lo mismo. 

Sintaxis: 

getLine(txt-file, line_number)

Ejemplo:

Python3

# importing required package
import linecache
  
# extracting the 5th line
particular_line = linecache.getline('test.txt', 4)
  
# print the particular line
print(particular_line)

Producción :

This is line 5.

Método 3: enumerar()

El método enumerate() se usa para convertir una string o un objeto de lista en una secuencia de datos indexados por números. Luego se usa en la lista de datos en combinación con for loop. Se puede acceder a las líneas en índices particulares especificando los números de índice requeridos en una array. 

Ejemplo:

Python3

# open a file
file = open("test.txt")
  
# lines to print
specified_lines = [0, 7, 11]
  
# loop over lines in a file
for pos, l_num in enumerate(file):
    # check if the line number is specified in the lines to read array
    if pos in specified_lines:
        # print the required line number
        print(l_num)

Producción

This is line 1.
This is line 8.
This is line 12.

Publicación traducida automáticamente

Artículo escrito por yashkumar0457 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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