我一直在努力工作几个小时,我无法做到正确,任何帮助将不胜感激!我的问题是如何使用函数.readline()
来读取文本文件的结尾?我知道.readlines()
也可以正常工作,但我正在尝试一次处理一行。
到目前为止,这是我的代码所用的内容:
a = open("SampleTxt.txt","r")
While True:
a.readline()
我的问题是,当我运行它时,我得到一个无限循环,一旦它再也无法读取一行,它是否应该停止?
答案 0 :(得分:23)
a.readline()
将返回''
一个空字符串,您需要检查该字符串然后中断while
,例如:
while True:
line = a.readline()
if not line:
break
如果它不是纯粹用于学习目的,那么你真的应该使用with
语句和for循环来逐行处理文件:
with open('SampleTxt.txt') as fin:
for line in fin:
pass # do something
您的意图更明确,并且通过使用with
块,fileobj将在异常或块结束时释放。