Python:验证列表中的元素是否存在于文件中,如果不存在则打印

时间:2016-08-04 20:39:32

标签: python

我有一个函数输出列表,我想验证数组的元素是否在文件中(包含服务器名称的文本文件),我想只打印那些不在文件中的服务器。

在这些方面思考一些事情:

host_list = ['abc.server.com', 'xyz.server.com']
sfile = open("slist.txt","r")
for num in host_list:
        do 
           for  aline in sfile.realines():
                if num =! aline.split()
                print num
sfile.close()

1 个答案:

答案 0 :(得分:1)

这是一个简单的方法来做你想做的事情:

host_list = ['abc.server.com', 'xyz.server.com']
sfile = open("slist.txt","r")
hosts_in_file = set()
for line in sfile:
  for server in line.strip().split():
    hosts_in_file.add(server)

print [host  for host in host_list if host not in hosts_in_file]
sfile.close()