我只想添加目前文件中不存在的服务器
我目前的代码:
f = open(filename,'a')
for server in cmo.getServers() :
print >>f, server.getListenAddress()
提前致谢
答案 0 :(得分:0)
构建文件中已存在的服务器列表:
present = [l.strip() for l in open(filename)]
(假设文件格式只是每行一个服务器,没有其他符号)。
然后检查列表中是否有地址:
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
答案 1 :(得分:0)
试试这个:
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))