Python和比较文件更改

时间:2017-09-29 14:22:39

标签: python rss feedparser

d = feedparser.parse('somerssfeed/rss.xml')
message = {}
smessage = {}

for post in d.entries:
    message[post.link] = post.title

fwrite = open("db.txt", "a")

for k, v in message.items():
    if k in open("db.txt", "r"):
        print("already exists")
    else:
        fwrite.write("\n" + "{0}".format(k) + "\n")
        smessage[k] = v

我想要实现的是解析RSS提要并将其链接写入文本文件。但问题是当我下次运行脚本时它不应该返回旧的rss项目,所以我通过文本文件比较它们,除非它失败了。在第一次运行时,它写入所有链接,第二次运行它应该返回空,因为所有链接都相同,但它再次写入相同的链接

编辑:

经过一整天的反复试验后,这很有效:

for k, v in message.items():
    if k in open('db.txt').read():
        print('already exists')
    else:
        smessage[k] = v
        fwrite = open("db.txt", "a")
        fwrite.write('\n{0}\n'.format(k))
        fwrite.close()

1 个答案:

答案 0 :(得分:1)

您没有使用正确的语法来打开文件。使用此:

g = open("db.txt","r")
lines = xml_file.readlines()
if k in lines: 
    print ("already exists");