使用readline读取txt文件python3

Cod*_*971 16 python readline python-3.x

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

这是我到目前为止我的代码所拥有的:

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

    While True:

        a.readline()
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*nts 25

a.readline()''当没有更多数据可用时,将返回一个空字符串,你需要检查它然后打破你的while,例如:

while True:
    line = a.readline()
    if not line: 
        break
Run Code Online (Sandbox Code Playgroud)

如果它不是纯粹用于学习目的那么你真的应该使用with语句和for循环来逐行处理文件:

with open('SampleTxt.txt') as fin:
    for line in fin:
        pass # do something
Run Code Online (Sandbox Code Playgroud)

关于你的意图更清楚,通过使用with块,fileobj将在异常或块结束时释放.

  • 第二种方法仍然是逐行读取文件,并没有将整个文件加载到内存中,对吧? (2认同)