嘿社区我是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< ---那是我想要的输出。
答案 0 :(得分:2)
address
是re.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