python 打印匹配的字符串,第 n 行的另一个字符串再次开始查找字符串的循环
python print matched string, another string at nth line again starting the loop for finding string
我刚刚开始学习 python 编程。
下面是输出文件。
SERVER-XXX:
IPADDR
text1
text2
text3
SERVER-yyy:
IPADDR
text3
text1
text2
SERVER-zzz:
IPADDR
text1
text3
text2
- 我正在逐行阅读。首先它将搜索 "Server*" 并打印
- 然后在 SERVER 中另一个循环将开始搜索另一个字符串 text3 并打印和循环中断。
- 然后第一个循环将再次搜索与 SERVER* 匹配的另一个词,依此类推。
我要求输出为:
SERVER-XXX:
text3
SERVER-yyy:
text3
SERVER-zzz:
text3
下面是我准备的代码
import re
f = open('dsp.txt', 'r')
for i, line in enumerate(f.readlines()):
line=line.rstrip('\n')
line=line.strip()
print(i, line)
if line.startswith("SERVER"):
while i > 0:
i=i+1
print i
if "text3" in line: # here i am not able to increment line.
x= line[i]
print ("%d" % line + /n + x)
break
你不需要两个 for
循环。您只需要在找到一个时更改 search term
。像这样:
look = 'SERVER'
tooglelook = lambda x: 'SERVER' if x == 'text3' else 'text3'
for i, line in enumerate(f.readlines()):
if look in line:
print line
look = tooglelook(look)
对于您给定的示例输入:
SERVER-XXX:
IPADDR
text1
text2
text3
SERVER-yyy:
IPADDR
text3
text1
text2
SERVER-zzz:
IPADDR
text1
text3
text2
产生这个输出
SERVER-XXX:
text3
SERVER-yyy:
text3
SERVER-zzz:
text3
我刚刚开始学习 python 编程。 下面是输出文件。
SERVER-XXX:
IPADDR
text1
text2
text3
SERVER-yyy:
IPADDR
text3
text1
text2
SERVER-zzz:
IPADDR
text1
text3
text2
- 我正在逐行阅读。首先它将搜索 "Server*" 并打印
- 然后在 SERVER 中另一个循环将开始搜索另一个字符串 text3 并打印和循环中断。
- 然后第一个循环将再次搜索与 SERVER* 匹配的另一个词,依此类推。
我要求输出为:
SERVER-XXX:
text3
SERVER-yyy:
text3
SERVER-zzz:
text3
下面是我准备的代码
import re
f = open('dsp.txt', 'r')
for i, line in enumerate(f.readlines()):
line=line.rstrip('\n')
line=line.strip()
print(i, line)
if line.startswith("SERVER"):
while i > 0:
i=i+1
print i
if "text3" in line: # here i am not able to increment line.
x= line[i]
print ("%d" % line + /n + x)
break
你不需要两个 for
循环。您只需要在找到一个时更改 search term
。像这样:
look = 'SERVER'
tooglelook = lambda x: 'SERVER' if x == 'text3' else 'text3'
for i, line in enumerate(f.readlines()):
if look in line:
print line
look = tooglelook(look)
对于您给定的示例输入:
SERVER-XXX:
IPADDR
text1
text2
text3
SERVER-yyy:
IPADDR
text3
text1
text2
SERVER-zzz:
IPADDR
text1
text3
text2
产生这个输出
SERVER-XXX:
text3
SERVER-yyy:
text3
SERVER-zzz:
text3