【发布时间】:2019-08-26 09:22:18
【问题描述】:
我正在文件中搜索特定关键字。从那里我想在前面的行中搜索一个额外的关键字。 例如:搜索“来源”的文本。然后在前 15 行文本中搜索关键字“destination”。 问题是,第二个关键字出现在距离第一个关键字大约 15-20 行的范围内,所以我不能只放 lines[i-15] 因为它不会为每个查找关键字的实例返回相同的结果“来源”。
我尝试设置一个变量,如果在上面的行中找不到第二个关键字,该变量将递增,以便它会继续迭代和搜索,但会出现错误。
第一次尝试...
keyword_2 ="destination
j =
if re.match(keyword_1, line):
lineafter = lines[i + j]
lineafter_split= lineafter.split(' ')
if value2 and cell_value in line:
if 'access-list' not in line:
if 'nat' not in line:
lineafter_2 = lines[i + 1]
if 'description' not in lineafter_2:
print(lineafter_2)
Second attempt ...
```keyword_1 ="source"
keyword_2 ="destination
j=1
for i, line in enumerate(lines):
if keyword_1 in line:
prev_line=lines[i - j]
for i in range(1,15):
if w in prev_line:
print(prev_line)
else:j= j+1
【问题讨论】:
标签: python-3.x loops iteration