python - 在设定的行范围内读取文本文件

标签 python file

是否可以从文本文件中读取设定的行范围,例如从第 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/

相关文章:

php - file_put_contents 上的互斥标志?

python - Django模型功能表现

python - 我可以使用 Python 将 MS Word 文档中的软回车转换为硬回车吗?

python - 如何将 pandas 方法作为参数传递?

objective-c - iOS:在c代码中获取文件路径

file - 从文本读取和运行 Powershell 文件

python - wxPython RichTextCtrl 带删除线

python - 如何从 Pandas DataFrame 中的行值构建的列表中删除 NaN 值

c - 我想将字符串从文件复制到变量二维字符中

java - 将文件夹压缩成 ZipFile