当我在 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))或重新打开您的文件。
其他一些提示:
- Python 有一个很好的
csv模块。不要尝试自己实现 CSV 解析,除非将其作为教育练习。 - 您可能希望以
'rU'模式打开您的文件,而不是'rb'。'rU'是通用的换行模式,它将为您处理来自具有不同行尾的平台的源文件。 - 在处理文件对象时使用
with,因为即使出现错误,它也会为您清理句柄。例如:
.
with open(r"H:\Test\test.csv", "rU") as f:
for line in f:
...
