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
You can do two things. You can use
enumerate()
, and use anif
statement:Or instead, you can use
readlines()
and then slice:HM,you can try something with while loop....but you should know up to which string you want text to be loaded,which is not best way:
You can use
itertools.islice()
on the file object and use iteration to read only specific lines: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.