正则表达式中的Python输出

时间:2016-11-17 21:22:28

标签: python

嘿社区我是python中的新手,我有一个问题可能是之前已经回答但是我想知道这是否可能

我有这个python代码:

import re

file = open("address.txt","r")
content = file.read()
file.close()
content = content.split('LAN ')[1:]
dic = {}
for lan in content:
    dic[int(lan[0])] = lan[1:] 



def address(lan_index):
    address = re.findall('address\s(.*?)\s',dic[lan_index] )
    print 'LAN',lan_index,":",address
    return address
address(1)

我的输出是:

  

LAN 1:[' 192.168.0.0']

是否可以删除['']并仅打印address? 例如:

  

LAN 1:192.168.0.0< ---那是我想要的输出。

1 个答案:

答案 0 :(得分:2)

addressre.findall的结果,因此它以list的形式出现。如果您想要返回的(仅)结果,请从该列表中获取第一项:

print 'LAN', lan_index, ":", address[0]

我还建议确保找到地址:

def address(lan_index):
    address = re.findall('address\s(.*?)\s',dic[lan_index] )
    if len(address) > 0:
        print 'LAN', lan_index, ":", address[0]
    else:
        print 'No address was found!'
    return address