我有一个文本文件,比如说
1: 0,0,0,122
2: 2,0,3,333
3: 0,0,0,23
等等。 我需要在文本文件中找到“0,0,0”模式 并打印除包含给定模式的行之外的所有行。 请在 python 中告诉我代码。
答案 0 :(得分:4)
一种强有力的方式是:
import re
pattern = re.compile(r'0\s*,0\s*,0\s*')
with open(filename) as f:
for line in f:
if pattern.search(line):
print line
这样,如果你有一个有一些空格的行,就会被跳过(例如“0,0,0”而不是“0,0,0”)。
但是如果你确定不会有这样的事情,或者你想要完全匹配“0,0,0”[无空格],那么你可以避免使用re
模块而只是使用in
运算符:
with open(filename) as f:
for line in f:
if '0,0,0' not in line:
print line
答案 1 :(得分:0)
for line in textfile.split('\n'):
if '0,0,0' not in line:
print line
答案 2 :(得分:0)
使用context manager打开文件。逐行遍历文件。如果您的图案没有出现在该行中,请打印以下行:
filename = 'textfile.txt'
pattern = '0,0,0'
with open(filename) as f:
for line in f:
if pattern not in line:
print line
未经测试,但应该有效。