You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

读取文本文件并输出全大写内容时出现多余空行的问题求助

解决Python读取文件打印时出现多余空行的问题

嘿,这个问题我之前也踩过坑!问题根源出在readlines()print()的换行行为冲突上:

当你用readlines()读取文件时,它会把每一行(包括行尾的换行符\n)都作为列表的一个元素存起来。而Python的print()函数默认在输出内容后会自动追加一个换行符,这样一来,每行就相当于有两个换行符(一个来自文件,一个来自print()),自然就出现了多余的空行。

给你几个可行的解决方案:

方案1:修改print的end参数

直接取消print()默认的额外换行,让它只输出读取到的内容(包含文件里的换行符):

file = open("STORY.TXT", 'r')
string = file.readlines()
for x in string:
    print(x.upper(), end='')  # end=''告诉print不要额外加换行
file.close()

方案2:移除每行的换行符

先把读取到的每行末尾的\n去掉,再转大写打印,这样print()自动添加的换行就刚好符合需求:

file = open("STORY.TXT", 'r')
string = file.readlines()
for x in string:
    print(x.strip('\n').upper())  # 只去掉换行符,保留行内其他空格
file.close()

方案3:更简洁的写法(推荐)

with语句读取整个文件内容,一次性处理并打印,不仅代码更简洁,还能自动帮你关闭文件,避免忘记关闭的问题:

with open("STORY.TXT", 'r') as file:
    content = file.read()
    print(content.upper())

这样运行后就能得到你期望的没有多余空行的输出啦!

内容的提问来源于stack exchange,提问作者Sahil Panhalkar

火山引擎 最新活动