使用readline读取文本文件python 3

时间:2015-03-09 06:14:29

标签: python python-3.x readline

我一直在努力工作几个小时,我无法做到正确,任何帮助将不胜感激!我的问题是如何使用函数.readline()来读取文本文件的结尾?我知道.readlines()也可以正常工作,但我正在尝试一次处理一行。

到目前为止,这是我的代码所用的内容:

    a = open("SampleTxt.txt","r")

    While True:

        a.readline()

我的问题是,当我运行它时,我得到一个无限循环,一旦它再也无法读取一行,它是否应该停止?

1 个答案:

答案 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将在异常或块结束时释放。