我正在尝试从一组接口名称中读取一个接口名称,这是我在处理一些文本后得到的,如果我想使用列表读取而不是获得如下所示的输出
['GigabitEthernet1/0/8']
['GigabitEthernet1/0/8']
['GigabitEthernet1/0/2']
['GigabitEthernet1/0/2']
['GigabitEthernet1/0/1']
['GigabitEthernet1/0/1']
['GigabitEthernet1/0/1']
['GigabitEthernet1/0/5']
['GigabitEthernet1/0/5']
['GigabitEthernet1/0/2']
['GigabitEthernet1/0/2']
['GigabitEthernet1/0/2']
['GigabitEthernet1/0/2']
['GigabitEthernet1/0/2']
['GigabitEthernet1/0/2']
['GigabitEthernet1/0/1']
这是代码
时的输出 interfaces = RE_INT.findall(errormessage)
print interfaces
并且
GigabitEthernet1/0/8
GigabitEthernet1/0/8
GigabitEthernet1/0/2
GigabitEthernet1/0/2
GigabitEthernet1/0/1
GigabitEthernet1/0/1
GigabitEthernet1/0/1
GigabitEthernet1/0/5
GigabitEthernet1/0/5
GigabitEthernet1/0/2
GigabitEthernet1/0/2
GigabitEthernet1/0/2
GigabitEthernet1/0/2
GigabitEthernet1/0/2
GigabitEthernet1/0/2
GigabitEthernet1/0/1
print interfaces[0]
`errormessage` is the type
<type 'str'>
<type 'str'>
<type 'str'>
<type 'str'>
<type 'str'>
和接口是类型
<type 'list'>
<type 'list'>
我想使用索引
获取GigabitEthernet1 / 0/8请帮忙!
答案 0 :(得分:0)
不要真正理解你想要什么,但我会尝试:
您有这种类型的代码:
for data in stream_of_log:
interfaces = RE_INT.findall(errormessage)
print interfaces
你想要的是(我希望):
interfaces = [RE_INT.findall(errormessage)[0] for data in stream_of_log]
因此,您可以使用以下方式访问数据:
print interfaces
print interfaces[0]
print interfaces[3]
因为你使用findall返回一个列表,你想要的只是这个列表中的数据。