从文本文件中删除随机行 - Python

时间:2016-04-05 10:17:25

标签: python random

我刚刚设置了一个Twitter机器人。它从文本文件中随机抽取推文并发推文。因为Twitter不允许重复的推文,我如何从文本文件中删除推文,以便它不会尝试再次发推文? 相关的代码位如下所示:

while True:
 lines = open('tweets.txt').read().splitlines()
 tweet = random.choice(lines)
 twitter.update_status(status=tweet)
 print (tweet)
 sleepTime = random.randint(30, 60)
 time.sleep(sleepTime)

编辑: 我需要.txt文件来更新/保存,而不需要最后一条推文。所以它不会再尝试再读它。

1 个答案:

答案 0 :(得分:-1)

如果您不再需要此推文,则可以从列表lines中删除此内容:

while True:
  lines = open('tweets.txt').read().splitlines()
  ...
  for line in lines:
     if line == tweet:
         lines.remove(line)

#EDIT this code write list 'lines' without removed line
with open("tweets.txt", 'w') as f:                                                                                                          
for l in lines:                                                                                                                                                                                                                                                     
    f.write(l + '\n')