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

Python读取Makefile仅输出首行,如何实现完整内容读取?

问题分析

你的代码只输出第一行的原因是:file.readline().rstrip()会将空行转换为空字符串,而while循环的判断条件依赖该字符串的布尔值——空字符串被视为False,导致遇到第一个空行时循环直接终止,后续内容无法输出。

解决方案

下面提供几种可行的实现方式:

方法1:一次性读取全部内容

最简洁的方式,直接读取文件所有内容并打印:

with open("Makefile", "r") as file:
    print(file.read())

方法2:逐行读取并保留空行

通过判断是否读到文件末尾来终止循环,而非依赖行内容的布尔值:

with open("Makefile", "r") as file:
    while True:
        line = file.readline()
        if not line:  # 读到文件末尾时终止
            break
        print(line.rstrip('\n'))  # 仅去除换行符,保留空行的结构

方法3:遍历文件对象(推荐)

Python中文件对象可直接迭代,这种写法更符合Python风格:

with open("Makefile", "r") as file:
    for line in file:
        print(line.rstrip('\n'))

内容的提问来源于stack exchange,提问作者Saad Hasan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:15:38