如何使用python删除文本文件中的特定行

z6psavjg  于 2023-02-21  发布在  Python
关注(0)|答案(2)|浏览(138)

如何从python文本文件中删除以某个单词开头的特定行?例如,如果我有一个列表:

cat | apples
bee | orange
dog | bananas

如何删除以'bee'开头的整行
我尝试在for循环中使用del line,但没有成功

brccelvz

brccelvz1#

你可能把del操作符和实际修改文件弄混了。删除从文件中读取的内存并不会把它从文件中删除。你会想把你需要的行存储到内存中,删除你不需要的行,然后把它们写回文件。如果你需要的行可以放进内存,那么下面的操作就可以工作了:

lines = []
for line in open('test.txt'):
    if not line.startswith('bee'):
        lines.append(line)

with open('test.txt', 'w') as file:
    file.writelines(lines)
r55awzrz

r55awzrz2#

我谨提出以下建议:
1.将文件内容读入python列表

with open('file_name', 'r') as f:
    data = f.readlines()

1.过滤掉以“bee”data = [ l for l in data if not l.startswith('bee') ]开头的行
1.将数据打印回文件。

相关问题