gpt4 book ai didi

python - 无法捕获 python EOFError

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:21 29 4
gpt4 key购买 nike

我读取了一个只包含一行的文件。但是,在循环结束之前我无法停止读取文件。即 python 不会抛出 EOFError 异常。我的代码有什么问题吗?

for x in range(5):
try:
line = file.readlines()
except EOFError:
break
print "Line:",line

输出是:

Line: ['nice\n']
Line: []
Line: []
Line: []
Line: []

最佳答案

readlines()读取整个文档并返回行列表,而不仅仅是一行。

您可能打算使用 file.readline() - 但即使这样也不会引发错误,所以你必须做其他事情,比如检查 if not line.endswith("\n"): breaklen(line) < 1检测 EOF。

我个人会编写类似的功能:

with open("filename") as f:
for i, line in enumerate(f):
print("Line: %s" % line)
if i > 5 or not line:
break

或者如果你想去掉多余的换行符,把打印语句改成:

print("Line: %s" % line.rstrip("\n"))

关于python - 无法捕获 python EOFError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9513031/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com