如何删除文件的特​​定最后两行?

我需要从文本文件中删除以下最后两行:


ColorForeground=#000000

ColorBackground=#ffffff

terminalrc使用以下命令将以上行附加到文件中:


echo -e "ColorForeground=#000000\nColorBackground=#ffffff">>/home/jerzy/.config/xfce4/terminal/terminalrc

因此,要修改的文件的最后几行如下所示


DropdownKeepOpenDefault=TRUE

ColorForeground=#000000

ColorBackground=#ffffff

我编写了以下 Python 脚本,以便使用.replace()方法删除文件的最后两行:


day = r"ColorForeground=#000000\nColorBackground=#ffffff"


file = r"/home/jerzy/.config/xfce4/terminal/terminalrc"


with open(file) as f:

    content = f.read()

    content = content.replace(day, "")

    with open(file, 'r+') as f2:

        f2.write(content)  

然而,我的脚本没有按预期工作。其执行结果如下:


DropdownKeepOpenDefault=TRUE


olorForeground=#000000

ColorBackground=#ffffff

我的Python代码错误在哪里?你会如何写这样的脚本?不使用正则表达式是否可以完成此任务?


慕桂英546537
浏览 123回答 1
1回答

慕容708150

单独读取和写入,也不要创建day原始字符串,这会转义换行符 -day = "ColorForeground=#000000\nColorBackground=#ffffff\n"with open(file, 'r') as f:    content = f.read()content = content.replace(day, "")with open(file, 'w') as f:    f.write(content)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python