我正在制作推特营销计划,我希望能够安排推文。我有脚本工作,但一旦我把它放入界面,程序完成,我希望能够安排一条推文说,一小时后,并能够完全关闭我的电脑,仍然有推文帖子如果安排。因为我现在有了它,如果我让脚本继续运行它会在我说的时候发布,但如果我关闭它就不会。这是Tweepy授权后的代码
api = tweepy.API(auth)
tweet = raw_input("what do you want to tweet in 1 hour?")
print "you have scheduled your tweet for 1 hour"
sched = True
while sched is True:
time.sleep(3600)
api.update_status(tweet)
sched = False
if sys.exit:
continue
提前谢谢。正如你所看到的,我试图在sys.exit之后继续执行该程序,但这不起作用
答案 0 :(得分:-1)
如何使用nohup或cron作业?
答案 1 :(得分:-1)
在你要求的方式中,这是不可能的。如何在计算机完全关闭电源后运行程序?
如果您的Twitter帐户存在信用卡,您可以使用Scheduled Tweets提前发送推文,并让Twitter在预定义时刻发布。我不确定是否有API。
答案 2 :(得分:-1)
继续:
继承语句,也是从C借来的,继续循环的下一次迭代
因此它不会继续已经关闭的实例。
链接:Python Docs 链接时间表:Schedule Github
由于你要求一个像调度系统这样的Cron的例子,为什么不安排: 但你仍然需要一台正在运行的电脑
import schedule
import time
def job():
print("test")
schedule.every(x).minutes.do(job)
while True:
schedule.run_pending()
time.sleep(1)
答案 3 :(得分:-1)
你可以使用python-daemon,但只能用于linux platofrm。:
#!/usr/bin/python
import time
from daemon import runner
api = tweepy.API(auth)
class App():
def __init__(self):
self.stdin_path = '/dev/null'
self.stdout_path = '/dev/tty'
self.stderr_path = '/dev/tty'
self.pidfile_path = '/tmp/foo.pid'
self.pidfile_timeout = 5
def run(self):
while True:
time.sleep(3600)
api.update_status(tweet)
app = App()
daemon_runner = runner.DaemonRunner(app)
daemon_runner.do_action()
这里do_action是内部调用运行函数。
然后用命令" ./ filename.py start"启动它,并用" ./ filename.py stop"停止它。 但在断电后机器守护程序停止。所以你需要在重启机器后手动启动。