How to read a specific range of lines in an external file in python?

前端 未结 3 657
醉梦人生
醉梦人生 2021-01-22 05:07

Lets say you have a python file with 50 lines of code in it, and you want to read a specific range lines into a list. If you want to read ALL the lines in the file, you can just

相关标签:
3条回答
  • 2021-01-22 05:46

    You were close. readlines returns a list and you can slice that, but it's invalid syntax to try and pass the slice directly in the function call.

    f.readlines()[23:27]
    

    If the file is very large, avoid the memory overhead of reading the entire file:

    start, stop = 23, 27
    for i in range(start):
        next(f)
    content = []
    for i in range(stop-start):
        content.append(next(f))
    
    0 讨论(0)
  • 2021-01-22 05:46

    Try this:

    sublines = content[23:27]
    
    0 讨论(0)
  • 2021-01-22 06:08

    If there are lots and lots of lines in your file, I believe you should consider using f.readline() (without an s) 27 times, and only save your lines starting wherever you want. :)

    Else, the other ones solution is what I would have done too (meaning : f.readlines()[23:28]. 28, because as far as I remember, outer range is excluded.

    0 讨论(0)
提交回复
热议问题