-2

我只想添加文件中当前不存在的服务器

我当前的代码:

 f = open(filename,'a')
 for server in cmo.getServers() :
    print >>f, server.getListenAddress()

提前致谢

4

2 回答 2

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
于 2012-05-17T09:06:56.223 回答
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))
于 2012-05-17T09:09:48.967 回答