使用Python测试文件中是否存在字符串

时间:2012-05-17 08:46:00

标签: python

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

我目前的代码:

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

提前致谢

2 个答案:

答案 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))