You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取TXT文件时while循环为何持续运行无法终止?

问题原因

你的代码陷入了无限循环,且未处理文件读取结束的情况:

  • while True是无条件循环,没有终止逻辑,程序会一直持续运行
  • 当f.readline()读到文件末尾时,会返回空字符串"",但循环仍会继续执行print(line),此时打印的全是空行,看起来终端像黑屏无输出
  • 此外f.close()永远不会被执行到,因为循环根本停不下来
修复方法

你需要在循环里判断是否读到文件末尾,一旦读完就终止循环,同时推荐用with语句自动管理文件(无需手动关闭,更安全):

修复后的代码

def get_line(filepath):
    # with语句会在代码块结束后自动关闭文件
    with open(filepath, "r") as f:
        while True:
            line = f.readline()
            # 空字符串表示已读到文件末尾,跳出循环
            if not line:
                break
            print(line, end="")  # 避免重复换行,因为readline会保留每行的换行符

print("Start...")
get_line("/path/to/file/textfile.txt")
print("Stop...")

更简洁的写法

Python中文件对象本身是可迭代的,直接遍历即可,无需手动调用readline:

def get_line(filepath):
    with open(filepath, "r") as f:
        for line in f:
            print(line, end="")

print("Start...")
get_line("/path/to/file/textfile.txt")
print("Stop...")

内容的提问来源于stack exchange,提问作者A.Sim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 11:05:22