关于Python删除txt文件空行问题

问题遇到的现象和发生背景

想删除txt文件最后一行空行

遇到的现象和发生背景,请写出第一个错误信息

想通过Python程序删除txt文件的最后一行,需要判断最后一行是否为空行,如果不是则不删除直接退出;如果是空行则删除然后保存退出

我想要达到的结果

如果TXT文件最后一行是空行则删除。

python实现删除最后的空行,不管最后有几个空行,请采纳!!


empty_row_index = -1
lines = []
#检查最后的行是否是空行
with open('test.txt',encoding='utf8') as f:
    lines = f.readlines()
    print(lines)
    for i in range(len(lines)-1,-1,-1):
        print(lines[i])
        if lines[i].strip() != '':#最后的行不是空行
            empty_row_index = i
            print(i)
            break


#最后的空行有没有,有的话则删除
if empty_row_index!=-1:
    with open('test.txt','w',encoding='utf8') as f:
        for i in range(empty_row_index+1):
             f.write(lines[i])

小魔女参考了bing和GPT部分内容调写:
要实现删除txt文件最后一行空行的功能,可以使用Python语言来实现。首先,需要打开目标文件,然后读取文件的每一行,并将其存储在一个列表中。接着,判断最后一行是否为空行,如果不是空行,则不做任何操作;如果是空行,则将该行从列表中删除。最后,将修改后的列表重新写入文件中,就可以实现删除最后一行空行的功能了。

# 打开文件
with open('test.txt', 'r') as f:
    # 读取每一行内容
    lines = f.readlines()
    # 判断最后一行是否为空行
    if lines[-1].strip() == '':
        # 如果是空行,将其从列表中删除
        del lines[-1]
    # 将修改后的列表重新写入文件中
    with open('test.txt', 'w') as f:
        for line in lines:
            f.write(line)

回答不易,记得采纳呀。

最后一行为空行,说明文件末尾存在换行符或者最后一行是空格,比如\r这种符号在文件的最末尾。如果需要删除末尾空行,只需要降文件指针移到文件的最后,往回搜索,把所有的不可见字符删除,包括空格,换行符