让我们说您有一个包含50行代码的python文件,并且您想将特定范围的行读入列表。如果您想读取文件中的所有行,则只需使用this answer中的代码即可:
com.google.protobuf:protobuf-java-util
但是,如果您想读取特定范围的行,例如读取23-27行,该怎么办?
我尝试过此方法,但不起作用:
with open('yourfile.py') as f:
content = f.readlines()
print(content)
答案 0 :(得分:4)
你很近。 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))
答案 1 :(得分:0)
尝试一下:
sublines = content[23:27]
答案 2 :(得分:0)
如果文件中有很多行,我相信您应该考虑使用f.readline()
(不使用s
)27次,并且只保存您想开始的行。 :)
否则,其他解决方案也是我也会做的(意味着:f.readlines()[23:28]
。28,因为据我所知,外部范围已被排除。