如何使用python删除文本文件中的一行?

时间:2014-06-01 20:03:15

标签: python twitter

我有一个语料库文本文件,该文件被输入到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

如何修改它以便在发布后立即删除每一行?

2 个答案:

答案 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