如何从python文本文件中删除以某个单词开头的特定行?例如,如果我有一个列表:
cat | apples bee | orange dog | bananas
如何删除以'bee'开头的整行我尝试在for循环中使用del line,但没有成功
'bee'
brccelvz1#
你可能把del操作符和实际修改文件弄混了。删除从文件中读取的内存并不会把它从文件中删除。你会想把你需要的行存储到内存中,删除你不需要的行,然后把它们写回文件。如果你需要的行可以放进内存,那么下面的操作就可以工作了:
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)
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.将数据打印回文件。
data = [ l for l in data if not l.startswith('bee') ]
2条答案
按热度按时间brccelvz1#
你可能把
del
操作符和实际修改文件弄混了。删除从文件中读取的内存并不会把它从文件中删除。你会想把你需要的行存储到内存中,删除你不需要的行,然后把它们写回文件。如果你需要的行可以放进内存,那么下面的操作就可以工作了:r55awzrz2#
我谨提出以下建议:
1.将文件内容读入python列表
1.过滤掉以“bee”
data = [ l for l in data if not l.startswith('bee') ]
开头的行1.将数据打印回文件。