次を含むファイルがあります:
"1 2 3 4 5 5 6 searching new
1 2 3 4 5 5 6 search"
1 2 3 4 5 5 6 search and"
コード:
with open('largeFile', 'r') as inF:
for line in inF:
if 'search' in line:
# do_something
2行目だけが欲しい両方の行を取得しています。
次を含むファイルがあります:
"1 2 3 4 5 5 6 searching new
1 2 3 4 5 5 6 search"
1 2 3 4 5 5 6 search and"
コード:
with open('largeFile', 'r') as inF:
for line in inF:
if 'search' in line:
# do_something
2行目だけが欲しい両方の行を取得しています。
正規表現を使用できます。
単語境界(\b) を使用してをチェックしwords
、行末$
をチェックします。
>>> line = "abc search"
>>> if re.search('(\\b(search)\\b)$', line):
print "true"
true
>>> line1 = "search asdf"
>>> if re.search('(\\b(search)\\b)$', line):
print "true"
>>> else:
print "false"
false
次のように除外searching
します。
with open('largeFile', 'r') as inF:
for line in inF:
if not 'searching' in line:
# do_something
他の行がどのように見えるかによって少し異なります。より正確には、次のことができます。
....if 'search' and not 'searching' in line:
どうですか
if line.endswith("search")
しかし、公平を期すために、あなたが何を望んでいるのかは明確ではありません。より多くの例の行を投稿して、あなたが期待するものを教えてください.