You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Python读取文本文件输出含多余空行问题求助

解决读取IP文件时输出多余空行的问题

问题原因

你碰到的多余空行,本质是双重换行符在搞鬼:文件里的每一行末尾自带一个换行符(\n),而Python的print()函数默认会在输出结束后再追加一个换行符,两者叠加就出现了空行。

几种快速解决方法

方法1:用strip()去除首尾空白字符

这个方法会把每行首尾的所有空白(包括换行符、空格、制表符)都去掉,完全适配IP地址这种没有首尾空白的场景:

file = open('ip.txt', 'r')
for line in file:
    print(line.strip())
file.close()  # 记得手动关闭文件,或者用下面的with语句更省心

方法2:让print()不追加默认换行符

通过end=''参数告诉print函数不要添加默认的换行符,只保留文件行本身的换行:

with open('ip.txt', 'r') as file:  # 用with语句会自动关闭文件,是更推荐的写法
    for line in file:
        print(line, end='')

方法3:用splitlines()读取无换行符的行列表

一次性读取文件所有内容,按换行分割成不带换行符的字符串列表,再遍历打印:

with open('ip.txt', 'r') as file:
    ip_list = file.read().splitlines()
for ip in ip_list:
    print(ip)

验证效果

用上面任意一种方法,输出都会变成你期望的样子:

OUTPUT:
X.X.X.X
Y.Y.Y.Y

另外建议养成用with语句操作文件的习惯,它会自动处理文件的关闭,避免资源泄漏哦~

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

火山引擎 最新活动