当前位置: 首页 > 面试题库 >

读取同一文件Python的多次行

关浩壤
2023-03-14
问题内容

我正在尝试在Python中多次读取某些文件的行。

我正在使用这种基本方式:

 with open(name, 'r+') as file:
                for line in file:
                    # Do Something with line

一切正常,但是如果我想在文件仍处于打开状态的情况下每行第二次进行迭代,例如:

 with open(name, 'r+') as file:
                for line in file:
                    # Do Something with line
                for line in file:
                    # Do Something with line, second time

然后它不起作用,我需要打开,然后关闭,然后再次打开我的文件以使其正常工作。

with open(name, 'r+') as file:
                    for line in file:
                        # Do Something with line
with open(name, 'r+') as file:
                    for line in file:
                        # Do Something with line

感谢您的回答!


问题答案:

使用file.seek()跳到文件中的特定位置。但是,请考虑是否真的有必要再次浏览该文件。也许有更好的选择。

with open(name, 'r+') as file:
    for line in file:
        # Do Something with line
    file.seek(0)
    for line in file:
        # Do Something with line, second time


 类似资料:
  • 我在三个阶段阅读xml文件,在每个阶段,我对不同的元素感兴趣,基于输入参数。 使用XMLStreamReader多次读取一个xml文件的最佳方法是什么? 其中inputStream是FileInputStream实例 目前,我得到了StreamClosed异常或streamReader。当我开始第二阶段读取时,hasNext()为false。

  • 问题内容: 我想使用其中包含图像。 我不想使用,因为我想将此主体直接写入文件并希望对其进行解码,所以我只想使用对内容的引用来传递给进一步的函数调用, 我尝试创建读取器的多个实例,如下所示 但是在第二次通话中它总是导致。 请帮助我如何为同一读者传递多个单独的参考? 问题答案: 被视为流。因此,您无法阅读两次。想象一下传入的TCP连接。您无法倒带进来的内容。 但是您可以使用复制流: Go Playgr

  • 问题内容: 我需要一次最多读取N行来读取一个大文件,直到EOF。在Python中最有效的方法是什么?就像是: 问题答案: 一种解决方案是列表理解和分片运算符: 在这之后是行的元组。但是,这会将整个文件加载到内存中。如果您不希望这样做(即文件可能真的很大),则可以使用生成器表达式和itertools包中的另一种解决方案: 是一个生成器对象,它为您提供文件的每一行,并且可以在这样的循环中使用: 两种解

  • 问题内容: 我正在尝试一次读取一行大文件。我在Quora上发现了一个与该主题有关的问题,但我缺少一些联系以使整个组件组合在一起。 我想弄清楚的一点是,如何一次从文件而不是如本示例中的STDIN读取一行。 我试过了: 但它不起作用。我知道,在紧急情况下,我可能会转而使用PHP之类的东西,但是我想弄清楚这一点。 我不认为其他答案会起作用,因为该文件比我在其上运行的具有内存的服务器大得多。 问题答案:

  • 问题内容: 我正在编写一个解析文本文件的python脚本。此文本文件的格式是这样的,文件中的每个元素都使用两行,为了方便起见,我想在解析之前先读取这两行。可以用Python完成吗? 我想要一些类似的东西: 但这打破了这样的说法: ValueError:混合迭代和读取方法将丢失数据 问题答案: 这里有类似的问题。您不能混合使用迭代和readline,因此您需要使用其中之一。

  • 字符串表[]=新字符串[100];