Допустим, у вас есть файл python с 50 строками кода, и вы хотите прочитать определенные строки диапазона в списке. Если вы хотите прочитать ВСЕ строки в файле, вы можете просто использовать код из этого ответа:
with open('yourfile.py') as f:
content = f.readlines()
print(content)
Но что, если вы хотите прочитать определенный диапазон строк, например, чтение строки 23-27?
Я пробовал это, но он не работает:
f.readlines(23:27)
Вы были близки. readlines
возвращает список, и вы можете разрезать его, но это недействительный синтаксис, чтобы попытаться передать срез непосредственно в вызове функции.
f.readlines()[23:27]
Если файл очень большой, избегайте издержек памяти при чтении всего файла:
start, stop = 23, 27
for i in range(start):
next(f)
content = []
for i in range(stop-start):
content.append(next(f))
Попробуй это:
sublines = content[23:27]
Если в вашем файле много и много строк, я считаю, что вам следует использовать f.readline()
(без s
) 27 раз и сохранять свои строки только в том месте, где вы хотите. :)
Else, другое решение - это то, что я бы тоже сделал (значение: f.readlines()[23:28]
. 28, потому что, насколько я помню, внешний диапазон исключен.