Python从文件创建一个列表,查找与设备类型匹配的细节

2024-10-16 20:41:14 发布

您现在位置:Python中文网/ 问答频道 /正文

需要一些解析文件的帮助。我要导入的文件如下所示。我想能够搜索这个文件的任何细节“asa,nxos”,以便我可以写命令到每种类型的设备。目前,我正在寻找最好的方式列出每一行并阅读它。你知道吗

简而言之,我已经创建了一个hosts粘性文件,每个脚本都会搜索这个文件来获取hosts数据。这些脚本将输出并收集其他信息或对类似的主机进行更改。你知道吗

我的文件/etc/hosts

-----------------
#Fortigate
10.10.10.4,datacenter-fw-2,dc1,prod,fortigate,fortigate,600d

#CiscoNexus7Ks
10.10.10.5,datacenter-ss-core-2,dc1,prod,cisco,nxos,7018

#CiscoASAFirewalls
10.10.10.1,datacenter-admin-fw-1,dc1,prod,cisco,asa,5580
10.10.10.2,datacenter-fw-2,dc1,prod,cisco,asa,5525
10.10.10.3,datacenter-ops-fw-1,dc1,prod,cisco,asa,5515
-----------------

我想我希望每一行都是

我的剧本

f = open("/etc/hosts-sticky", "r")
for line in f:
line = f.readline().split()
if line != []:
    print line

提供如下列表

['#Fortigate']
['10.136.25.74,datacenter-fw-2,dc1,prod,fortigate,fortigate,600d']
['#CiscoNexus7Ks']
['10.65.204.27,datacenter-ss-core-2,dc1.prod,cisco,nxos,7018']
['#CiscoASAFirewalls']
['10.65.204.10,datacenter-admin-fw-1,dc1,prod,cisco,asa,5580']
['10.65.248.10,datacenter-fw-2,dc1,prod,cisco,asa,5525']
['10.65.248.113,datacenter-ops-fw-1,dc1,prod,cisco,asa,5515']

现在我想找到所有带有“asa”的行并返回ip和主机名。我原以为这样行得通,但行不通

f = open("/etc/hosts-sticky", "r")
for line in f:
line = f.readline().split()
if line != []:
    my_hosts = line
    if 'asa' in my_hosts:
        print my_hosts

我错过了什么?你知道吗


Tags: 文件inifmylineetcprodcisco
1条回答
网友
1楼 · 发布于 2024-10-16 20:41:14

这对您很有用:

f = open("/etc/hosts-sticky", "r")
myList=[]
for line in f:
    myList.append(line)
for item in myList:
    if "asa" in item:
        print(item.split(',')[0:2])

当用于:

        -
#Fortigate
10.10.10.4,datacenter-fw-2,dc1,prod,fortigate,fortigate,600d

#CiscoNexus7Ks
10.10.10.5,datacenter-ss-core-2,dc1,prod,cisco,nxos,7018

#CiscoASAFirewalls
10.10.10.1,datacenter-admin-fw-1,dc1,prod,cisco,asa,5580
10.10.10.2,datacenter-fw-2,dc1,prod,cisco,asa,5525
10.10.10.3,datacenter-ops-fw-1,dc1,prod,cisco,asa,5515
        -

输出如下:

['10.10.10.1', 'datacenter-admin-fw-1']
['10.10.10.2', 'datacenter-fw-2']
['10.10.10.3', 'datacenter-ops-fw-1']

相关问题 更多 >