我有一个语料库文本文件,该文件被输入到Twitter应用程序中,该应用程序一次定期发送一行。但是,在发布一行后,我希望它能从文本文件中删除它。这是推出行的当前代码(我最初没有编写这段代码,但我稍微修改了一下):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# by robincamille - for mechnicalpoe
# Tweets a .txt file line by line, waiting an hour between each tweet.
# Must be running all the time, e.g. on a Raspberry Pi, but would be better
# if rewritten to run as a cron task.
import tweepy, time
import random
filename=open('lines.txt','r')
f=filename.readlines()
filename.close()
#f = random.choice(open('lines.txt').readlines())
for line in f:
api.update_status(line)
print line
time.sleep(160) # Sleep
如何修改它以便在发布后立即删除每一行?
答案 0 :(得分:0)
您不会从文件中删除任何行:)
只需将文件读入列表并推文(并删除)列表中的元素即可。
并且:你不等“一小时”(如评论所述) - 这是160秒!
答案 1 :(得分:0)
我可能首先阅读整个文件,发推并删除您想要的行,然后再打印出来。
检查你睡一小时的时间。一小时3600秒。
正如评论所说,cron可能会更好。我会制作一个程序,只为一条推文执行此操作并将程序放入cron。这样你就不会有一个挥之不去的python进程。
每小时运行一次: 0 * * * *(/ path / to / program; python program.py arg)
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/ http://www.thesitewizard.com/general/set-cron-job.shtml