Python搜索和打印值
下面是文件输出的示例Python搜索和打印值,python,python-2.7,Python,Python 2.7,下面是文件输出的示例 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 Defa
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-本机名称2-本机是否存在
无论是否存在,我都可以使用以下代码:
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的状态值和动态Mac地址值。以下是参考资料
Name: 2-native
Dynamic MAC Addr: Derived
Default Network: Yes
State: progress
就像我搜索“vNIC模板”
我想打印类型值和织物值。我想您可以使用以下内容:
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
你是正则表达式的一员。回答得很好。感谢@Chris!