从文本文件中删除或清除一行

3

标题很简单,但有些困难。

删除带有 boop 的行。

beep
boop 
bop 
Hey 
beep
boop
bop

file_path = "C:\\downloads\\test.txt"
with open(file_path, "r") as f:
    lines = f.readlines()
with open(file_path, "w") as f:
    for line in lines:
        if line.rfind("boop") >= 0:
            f.write(line)

file_in.close()

我不太明白如何最好地删除或完全清除这行。

2个回答

4

您可以以读写模式打开文件,并删除符合条件的行。

with open(file_path, "r+") as fp:
    lines = fp.readlines()
    fp.seek(0)
    for line in lines:
        if "boop" not in line:
            fp.write(line)
    fp.truncate()

seek 可以重置文件指针。

参考来源:在Python中使用删除特定行的方法


1
打开文件并读取其内容,然后再次打开文件,将该行写入其中,但不包括包含“boop”的行:
path='path/to/file.txt'
with open(path, "r") as f:
    lines = f.readlines()
    with open(path, "w") as f:
        for line in lines:
            if line.strip("\n") != "boop":
                f.write(line)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接