2016-08-04 20 views
-1

関数の出力であるリストがあります。配列の要素がファイル(サーバー名を含むテキストファイル)にあるかどうかを確認したいファイルに含まれていないサーバーだけを印刷します。これらの行に何かの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

だから、まさに質問は何ですか? – Mureinik

+1

'do'は有効なpython構文ではありません。また、 '=! 'ではなく'!= 'が必要です。ファイルを開くには 'with'ブロックを使います。 –

+1

あなたのコードにいくつかのタイプミスがあります。 –

答えて

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() 
+0

ありがとうございます。 – cloudvar

+0

あなたはまたupvoteで私に感謝することができます:) – bpachev

関連する問題