我是一个初学者程序员,我无法理解。需要调用一个包含数据和匹配字符(*)的.txt文件,并返回该值。
.txt文件包含以下数据:
Zone : Server1
00:88:41:oc*
12:11:ee:41
Zone : Server2
1e:41:eq:re
oc:41:31:26
Zone : Server3
00:88:41:ae*
1e:19:ee:46
因此,由于末尾有(*),因此应返回“区域”名称。预期结果是:
Server1
Server3
我正在尝试什么:
import re
s = open('./myfile.txt','r').read()
fp = open('./output.txt', 'w')
for zone in s.split("zone"):
m = re.search(r"\w+\*", zone)
if m:
fp.write(zone.splitlines()[0].strip(" :"))
答案 0 :(得分:0)
这是一种方法。
例如:
import re
s = """Zone : Server1
00:88:41:oc*
12:11:ee:41
Zone : Server2
1e:41:eq:re
oc:41:31:26
Zone : Server3
00:88:41:ae*
1e:19:ee:46"""
for zone in s.split("Zone"): #Separate Each zone
m = re.search(r"\w+\*", zone) #Check for *
if m:
print(zone.splitlines()[0].strip(" :")) #Get first line.
输出:
Server1
Server3