在文本文件中的模式我有一個文本文件,說發現在python
1: 0,0,0,122
2: 2,0,3,333
3: 0,0,0,23
等。 我需要在文本文件 中找到「0,0,0」模式,並打印除包含給定模式的行之外的所有行。 請誰能告訴我代碼爲此python。
在文本文件中的模式我有一個文本文件,說發現在python
1: 0,0,0,122
2: 2,0,3,333
3: 0,0,0,23
等。 我需要在文本文件 中找到「0,0,0」模式,並打印除包含給定模式的行之外的所有行。 請誰能告訴我代碼爲此python。
一個強大的方法是這樣的:
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
for line in textfile.split('\n'):
if '0,0,0' not in line:
print line
這假設整個文件在內存中(在'textfile'中)。使用迭代器方法'for line in file'更高效和優雅。 –
使用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
未經測試,但應該有效。
我可以幫助你,但我不會爲你解決這個問題。你有什麼嘗試? –