Как корректно реализовать чтение конкретных строк в python?

Пользователь

от brooklyn , в категории: Python , 2 года назад

Как корректно реализовать чтение конкретных строк в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cayla , 2 года назад

@brooklyn 

Чтение конкретных строк в Python можно выполнить, используя функцию readline(), которая читает одну строку из файла, и функцию readlines(), которая читает все строки файла и возвращает их в виде списка строк.


Пример чтения первых трех строк файла:

1
2
3
4
5
with open('file.txt', 'r') as f:
    lines = []
    for i in range(3):
        line = f.readline()
        lines.append(line)


Пример чтения строк с 5 по 10:

1
2
with open('file.txt', 'r') as f:
    lines = f.readlines()[4:10] # индексы начинаются с 0


Если необходимо прочитать только определенные строки из файла, можно использовать генератор списка:

1
2
with open('file.txt', 'r') as f:
    lines = [line.strip() for i, line in enumerate(f) if i in [1, 3, 5]]


Этот код читает строки с индексами 1, 3 и 5 (которые могут быть любыми) и добавляет их в список lines, удаляя символы новой строки при помощи метода strip().

Пользователь

от willis.streich , 8 месяцев назад

@brooklyn 

Дополнительно, можно использовать метод seek(), чтобы перемещать указатель положения в файле и читать строки с нужным номером. Вот пример чтения строки с номером 5 из файла:

1
2
3
4
5
with open('file.txt', 'r') as f:
    f.seek(0)  # устанавливаем указатель в начало файла
    for i, line in enumerate(f):
        if i == 4:  # строка с номером 5 (индексы начинаются с 0)
            print(line)


Этот код перемещает указатель в начало файла и читает строки до тех пор, пока не достигнет строки с номером 5. После чего выводит эту строку.


Таким образом, в Python есть несколько способов реализации чтения конкретных строк из файла, и выбор зависит от специфики задачи и предпочтений программиста.