Reading in a text file in a set line range
file, python
Solution
You can use `itertools.islice()` on the file object and use iteration to read only specific lines:
import itertools
with open(file_to_save, "r") as text_file:
for line in itertools.islice(text_file, 19, 52):
# do something with line
would read lines 20 through to 52; Python uses 0-based indexing, so line 1 is numbered 0.
Using the file object as an iterator gives you a lot of flexibility; you can read extra lines by calling `next()` on the file object, for example, advancing the line 'pointer' as you do so.
When using the file as an iterable, don't use `readline()`; the two techniques are not easily mixed.
Problem
Is it possible to read in from a text file a set line range for example from line 20 to 52? I am opening the file and reading the file like this: ``` text_file = open(file_to_save, "r") line = text_file.readline() ``` but only want to save the data in a set range or if it possible to read in from a after a line containing --- data --- to another line containing -- end of data -- I have looked through the documentation and online examples and can only find examples that specify a new line or something