循环/读取文本文件未按预期运行Python2.7

2024-04-19 18:34:19 发布

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

我正在开发一个程序,它将ping一个服务器列表,并将发送一个通知,其中包含任何失败的服务器列表。但是,我一直在创建列表。这是我下面的代码,读取一个文本文件,拉出IP和服务器名。我的ping函数遍历这个列表。 当前我的打印行显示列表中的最后一个IP,而IP\列表只包含列表中的第一个IP。我不确定我做错了什么。你知道吗

ip_list = list()

with open('servers.txt', 'rb') as infile :
        for line in infile:
            print line
            full_line = line.rstrip()
            info = full_line.split()
            IP = info[0]
            server = info[3]
            ip_list.append((IP, server))

print ip_list

我不知道如何显示输入。它是一个包含30行的文本文件,格式如下:

10.14.12.61 Pointer (PTR) server1.xxxxx.com. ?1/?15/?2016 2:00:00 AM

print line语句给出了(文件中的最后一行):

192.168.1.90 Pointer (PTR) server30.gb.xxxx.com. static

print ip\u列表提供了以下信息(文件中的第一行):

[('10.14.12.61', 'server1.xxxx.com.')]

我对ipu列表的预期结果是一个包含30行的列表,拉出ip和服务器名称。看起来它从文本行中提取了正确的信息,但只针对第一行。不过,程序正在通读到最后一行。你知道吗

所以ip地址列表

('10.14.12.61', 'server1.xxxxx.com')
('192.168.1.212', 'server2.xxxxx.com')
('192.168.1.229', 'server3.xxxxx.com')
('192.168.1.90', 'server30.xxxxx.com')

Tags: 程序ipinfo服务器com列表lineping