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()
答案 0 :(得分:1)
您没有使用正确的语法来打开文件。使用此:
g = open("db.txt","r")
lines = xml_file.readlines()
if k in lines:
print ("already exists");