Skip to main content
 首页 » 编程设计

python循环不会在第二遍迭代

2025年05月04日14zlslch

当我在 Python IDLE Shell 中运行以下命令时:

f = open(r"H:\Test\test.csv", "rb") 
for line in f: 
    print line 
    #this works fine 

但是,当我第二次运行以下命令时:

for line in f: 
    print line 
    #this does nothing 

请您参考如下方法:

这是行不通的,因为您已经第一次搜索到文件末尾。您需要倒带(使用 .seek(0))或重新打开您的文件。

其他一些提示:

  1. Python 有一个很好的 csv模块。不要尝试自己实现 CSV 解析,除非将其作为教育练习。
  2. 您可能希望以'rU' 模式打开您的文件,而不是'rb'。 'rU' 是通用的换行模式,它将为您处理来自具有不同行尾的平台的源文件。
  3. 在处理文件对象时使用with,因为即使出现错误,它也会为您清理句柄。例如:

.

with open(r"H:\Test\test.csv", "rU") as f: 
    for line in f: 
        ...