python将列表与文件中的列表进行比较,而不覆盖文件

python将列表与文件中的列表进行比较,而不覆盖文件,python,Python,我试图找到如何使用python脚本检查是否有新的vcenter服务器场 假设我目前有5个农场 农场01 农场02 农场03 农场04 农场05 如果是新的vmware farm,就说Farm6,我希望脚本能够检测到它 因此,我想将现有农场写入文件,并将其与现有农场列表进行比较 但文件正在被改写,以下是我到目前为止所做的 f=open('farms_file',"w+") for farms_items in all_farms_list: f.write("%s\n" % farms_i

我试图找到如何使用python脚本检查是否有新的vcenter服务器场

假设我目前有5个农场

农场01 农场02 农场03 农场04 农场05

如果是新的vmware farm,就说Farm6,我希望脚本能够检测到它 因此,我想将现有农场写入文件,并将其与现有农场列表进行比较 但文件正在被改写,以下是我到目前为止所做的

f=open('farms_file',"w+")
for farms_items in all_farms_list:
    f.write("%s\n" % farms_items)

f.close()
file = open('farms_file','r')
f_content = file.read()
for i in f_content.split():
    #print i will print all farms in the file
if i not in all_farms_list:
    print(i)
但是我没有得到任何结果,因为文件被覆盖了

你能不能提供离开,这样的文件将不会被过度,所以我会得到 新农场


例如,farm6

问题在于每次文件都会被覆盖,因为您是在写模式下打开它的。要对此问题进行排序,只需通过更改一行以追加模式打开它:

f=open('farms_file',"w+")


这将保护您的文件不被覆盖,并附加内容。

读取后写入?。。。让你的生活更容易使用
f=open('farms_file',"a+")