【问题标题】:while loop termination if end of file reached如果到达文件末尾,则循环终止
【发布时间】:2014-06-25 10:15:22
【问题描述】:

如果到达文件末尾,while循环终止

【问题讨论】:

  • 你为什么使用while而不是for?完整的错误回溯在哪里? sPosePosgenMaPos 是什么;他们有没有改变,如果有,在哪里?
  • 我做了一些修改@jonrsharpe你现在可以看到它
  • 您可以使用try-except 块。
  • @jonrsharpe 在这里。
  • @salman 你能帮我语法吗?

标签: python file while-loop increment termination


【解决方案1】:

在Python中,文件对象实现了__iter__接口,所以你可以这样做:

for line in file:
   # processing on line

我的建议是以这种方式重构代码,必要时尽早中断。例如:

for line in file:
  if processed_count >= max_lines_to_process:
     break
  # ....
  processed_count += 1

【讨论】:

  • 谢谢@Michael 我对我的问题做了一些修改,解释了为什么我需要使用 while 循环。而且我不知道 for 循环是否对我有帮助
  • 目前还不清楚为什么需要以这种方式构建它。看起来你总是从文件中读取,唯一的区别是“如果 genMaPos >= sPos 和 genMaPos
  • 在这两种情况下,我总是从文件中读取。但是如果代码中没有明确说明的 genMaPos > ePos,它将不会移动到下一行。他将移动到下一个集群并在同一行上执行其余操作。 @迈克尔
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多