以下是文件输出。
vNIC Template:
Name: vNIC-120-A
Type: Updating Template
Fabric ID: A B
Ethernet Interface:
Name: 2-native
Dynamic MAC Addr: Derived
Default Network: Yes
State: progress
Name: nfs
Dynamic MAC Addr: Derived
Default Network: No
Name: vmotion
Dynamic MAC Addr: Derived
Default Network: No
如何验证名称:2-native name 2-native exits。
我可以使用下面的代码是否存在不是:
Counting the "string" occurrence in a file
def count_string_occurrence():
string = "2-native"
f = open("search.txt")
contents = f.read()
f.close()
print "Number of '" + string + "' in file", contents.count("2-native")
在我的情况下,我搜索并找到2-Native关键字。 我想打印2-native的状态值和Dynamic Mac Addr值。以下是参考资料
Name: 2-native
Dynamic MAC Addr: Derived
Default Network: Yes
State: progress
如果我搜索“vNIC模板” 我想打印类型值和Fabric值。
答案 0 :(得分:3)
我想你可以使用类似的东西:
import re
keyword = re.escape("2-native")
result = re.findall(r"Name: {}.*?Addr: ([\w]+).*?State: (.*?)$".format(keyword), contents, re.IGNORECASE | re.DOTALL | re.MULTILINE)
if result:
mac_addr = result[0][0]
state = result[0][1]
print(mac_addr, state)
# Derived progress