python删除文本末尾所有空行

本文介绍了一种通过Python编程实现对文本文件中非空行进行定位与截取的方法。该方法首先读取文件直至遇到最后一非空行,并记录其位置;然后从文件头开始重新读取并写入新文件,直到之前记录的位置为止。这种方式可以有效地处理大型文本文件,避免一次性加载整个文件导致内存占用过大。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博文背景

question chat

解决办法
source = open('./input.txt', 'r')
done = 0    # 作为文件是否读结束的标志
index = 0   # 标记最后一个非空行的位置
count = 0   # 记录当前行的行数
while not done:
    # 使用readline避免内存载入过大玩意
    line = source.readline()
    count += 1
    if line != str():
        # 说明文件没读结束
        if line == '\n':
            # 说明是空行
            pass
        else:
            index = count
    else:
        done = 1

print(index)

source.seek(0, 0)     # 将文件指针放在文本开头
target = open('./output.txt', 'w')
count = 0   # 记录当前行的行数
done = 0    # 作为文件是否写结束的标志
while not done:
    # 使用readline避免内存载入过大玩意
    line = source.readline()
    print(line)
    count += 1
    target.write(line)
    if index != count and line != str():
        pass
    else:
        done = 1

source.close()
target.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值