【发布时间】:2017-11-14 07:03:46
【问题描述】:
我刚刚开始学习 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
【问题讨论】:
-
有什么问题?
-
这里
if "text3" in line:总是假的,因为line的值一直是'SERVER' -
但我不明白那些来自 server-yyy 和 server-zzz 的 text3 来自哪里。你能解释清楚吗?
-
我有许多合并的数据服务器详细信息输出。我需要隔离具有 text3 的服务器。 text3 只是一个在所有服务器中通用的字符串