是否可以从文本文件中读取设定的行范围,例如从第 20 行到第 52 行?
我正在打开文件并像这样读取文件:
text_file = open(file_to_save, "r")
line = text_file.readline()
但只想将数据保存在设定范围内,或者如果可能的话,从包含 --- 数据 --- 的行之后读入到包含 -- 数据结尾的另一行 --
我查看了文档和在线示例,只能找到指定换行之类的示例
最佳答案
您可以使用 itertools.islice()
在文件对象上并使用迭代仅读取特定行:
import itertools
with open(file_to_save, "r") as text_file:
for line in itertools.islice(text_file, 19, 52):
# do something with line
将读取第 20 行到第 52 行; Python 使用基于 0 的索引,因此第 1 行编号为 0。
使用文件对象作为迭代器给你很大的灵 active ;您可以通过 calling next()
on the file object 阅读额外的行,例如,在您这样做时推进行“指针”。
将文件用作可迭代对象时,don't use readline()
;这两种技术不容易混用。
关于python - 在设定的行范围内读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24716001/