私はテキストファイルを持っています、
1: 0,0,0,122
2: 2,0,3,333
3: 0,0,0,23
等々。テキストファイルで「0,0,0」パターンを見つけて、指定されたパターンを含む行を除くすべての行を印刷する必要があります。誰かが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
コンテキストマネージャを使用してファイルを開きます。ファイルを1行ずつ繰り返します。行にパターンがない場合は、次の行を印刷します。
filename = 'textfile.txt'
pattern = '0,0,0'
with open(filename) as f:
for line in f:
if pattern not in line:
print line
テストされていませんが、動作するはずです。