我一直在写一个python脚本,我对某个函数有问题,它应该打开/etc/决议.conf文件,逐行读取并只返回ip地址。虽然它看起来是在查找ip地址,但它并没有告诉我内存的哪个部分,也不知道如何让它告诉我匹配的字符串本身。在
函数如下:
def get_resolv():
nameservers=[]
rconf = open("/etc/resolv.conf","r")
line = rconf.readline()
while line:
try:
ip = re.search(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b",line)
except:
ip = "none set"
print ip
nameservers.append(ip)
line= rconf.readline()
return nameservers
以下是调用时的输出:
^{pr2}$
另一种方式
re.search
返回一个Match Object。这是一个具有许多属性的对象,这些属性告诉您匹配的情况。在要获得完整的匹配文本,请使用
ip.group(0)
或ip.group()
。在如果没有匹配,
re.search
也不会抛出异常,而是返回None
。所以你的代码应该看起来像:相关问题 更多 >
编程相关推荐