我的文件包含:
"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
我得到了我只想要第二行的两条线。
我的文件包含:
"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
我得到了我只想要第二行的两条线。
像这样排除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")
但公平地说,它并不清楚你想要什么。请发布更多示例行并告诉我们您期望哪些行。
您可以使用正则表达式。
使用单词边界(\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