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

Python读取文本文件无输出问题求助:添加if-else后无内容输出

文件读取无输出的原因及解决方法

问题出在文件指针的位置变化:

  • 执行file.read()时,会一次性读取整个文件的全部内容,同时将文件内部的指针移动到文件末尾。
  • 进入else分支后,再用for line in file遍历文件时,指针已经停在末尾,没有剩余内容可以读取,所以不会有任何输出。

解决方法

方法1:先保存文件内容,再判断处理

把读取的内容存入变量,后续直接使用该变量完成判断和遍历,避免指针移动问题:

with open("This.txt",'r') as file:
    content = file.read()
    if content == '':
        print("File empty")
    else:
        # 按行拆分内容并输出
        for line in content.splitlines():
            print(line)

方法2:重置文件指针到开头

在else分支中,用file.seek(0)将指针移回文件起始位置,再执行遍历:

with open("This.txt",'r') as file:
    if file.read()=='':
        print("File empty")
    else:
        file.seek(0)  # 将指针重置到文件开头
        for line in file:
            print(line)

方法3:更高效的直接遍历判断

先把文件内容转为列表,既能判断是否为空,又能直接遍历输出,逻辑更简洁:

with open("This.txt",'r') as file:
    lines = list(file)
    if not lines:
        print("File empty")
    else:
        for line in lines:
            print(line)

内容的提问来源于stack exchange,提问作者Nikhil Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 11:37:09