Skip to main content
 首页 » 编程设计

Python:多次逐行迭代.txt文件

2025年05月04日51lyhabc

<分区>

我有一个类可以读取 .txt 文件并对其执行一些不同的功能。我在下面提供了我的代码示例。

class Example(object): 
  def __init__(self,fileName): 
    self.file = open(fileName) 
 
  def function_a(self): 
    for line in self.file: 
      for char in line: 
        #Do some things 
 
  def function_b(self): 
    for line in self.file: 
      for char in line: 
        #Do some other things 

当我创建对象并调用 function_a 或 function_b 时,一切正常。但是,如果我在调用 function_a 之后调用 function_b(反之亦然),则调用的第一个函数可以完美运行,但第二个函数的行为就好像 self.file 为空一样。

我只能假设在 self.file 中嵌入了某种计数器或指针,它已被我的第一个函数激活,现在位于文件末尾。结果,当我尝试调用第二个函数时,它会选择指针所在的位置,并在注意到没有更多的行后,它返回而没有任何错误。

假设我不能组合 function_a 和 function_b 同时执行它们的操作,我该如何重置 self.file 以便当我第二次尝试遍历它时它会从头开始?

或者我的假设是错误的,是不是发生了其他事情?