I'd like to add only servers currently doesn't exist at file
My current code :
f = open(filename,'a')
for server in cmo.getServers() :
print >>f, server.getListenAddress()
Thanks in advance
I'd like to add only servers currently doesn't exist at file
My current code :
f = open(filename,'a')
for server in cmo.getServers() :
print >>f, server.getListenAddress()
Thanks in advance
ファイルに既に存在するサーバーのリストを作成します。
present = [l.strip() for l in open(filename)]
(ファイル形式が 1 行に 1 つのサーバーのみであり、他の記号はないと仮定します)。
次に、アドレスがリストにあるかどうかを確認します。
for server in cmo.getServers():
address = server.getListenAddress()
if address not in present:
print >>f, address
getServers()
これは、取得したアドレスが繰り返されないことを前提としています。それも可能であれば、最初にそれらのセットを構築します。
new = set(server.getListenAddress() for server in cmo.getServers())
for address in new:
if address not in present:
print >>f, address
これを試して:
data = set( [i.strip() for i in open( filename, 'r' ).readlines()] )
for server in cmo.getServers() :
data.add( server.getListenAddress() )
open( filename, 'w' ).write('\n'.join(data))