从文本文件中删除第二行

Joe*_*art 1 python

我读过一些与此类似的问题,但所有问题要么删除第一行或最后一行,要么删除与指定字符串匹配(或不匹配)的行。

我想要做的是删除文本文件中的第二行,然后将所有内容向上移动一行,而不是用空格填充第二行。

例如。第 3 行变为第 2 行,第 4 行变为第 3 行,依此类推。

例如,如果我的输入是:

1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

我希望输出是:

1
3
4
5
Run Code Online (Sandbox Code Playgroud)

我不能只指定删除与字符串匹配的行,因为第二行每天都会根据日期更改。

我已经开始使用

with open('file.txt', 'r') as f:
    lines = f.readlines()
    f.write(lines)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何改变它以跳过第二行。

语境:

这是为了为我的团队制定工作轮班表。第一行是标题,第二行是最近的日期。这意味着在每天晚上的午夜,第二行变成了昨天,那时我需要删除该行并在末尾添加新行,但这部分更容易。

Ger*_*ano 5

您必须读取该文件,然后用您想要的行重写它。例如:

lines = []

with open('file.txt', 'r') as f:
    lines = f.readlines()

with open('file.txt', 'w') as f:
    f.writelines(lines[:1] + lines[2:]) # This will skip the second line
Run Code Online (Sandbox Code Playgroud)

只要您处理小文件,这就是一种可行的方法。否则,您最好从一个文件中读取并写入另一个文件。