当前位置: 博客首页 >> Python >> 阅读正文

python实现的腾讯微博管家-定时发布进度

作者: 郑晓 分类: Python 发布于: 2014-11-05 08:28 浏览:5,641 没有评论


这两天抽空完成了定时发布功能的设置部分,比如添加定时,删除定时,显示当前已定时任务。

python实现的腾讯微博管家-定时发布进度

定时功能由主菜单选择进入 增加一条定时任务命令格式: add 日期时间 发布内容 add 2014-11-05/08:00:00 这是一条微博! 显示当前任务列表命令为show,列出当前任务的索引编号、定时时间、发布内容。

删除某条任务,命令格式: del 索引编号 del 1 基本实现代码: #定时发布任务设置 p = re.compile(r'\s+') while True: code = raw_input('设置或修改定时发布任务:') if code=='': showMainMenu() break code = p.sub(' ', code) args = code.split(' ') operation = { 'add': lambda x,y:add_auto_post_task(x,y), 'del': lambda x,y:del_auto_post_task(x), 'show':lambda x,y:show_auto_post_task() } #输入如show 或del删除命令时,由于args数组长度不够,我也没想出什么更好的方法,所以这里进行了长度填充。 while len(args)<3: args.append(' ') print operation<a href="args[1],args[2]">args[0]</a> 这里使用了字典+匿名函数来模拟switch功能,而且由于我定义的匿名函数参数列表长度相等,所以在最后一行 可以统一调用。

三个匿名函数调用的方法代码如下,其中autoPostTaskListT和C分别为储存任务时间和任务发布内容的两个同长度列表,日期时间还应该转为时间戳,我这里暂时没处理: #添加定时任务 def add_auto_post_task(t,c): try: autoPostTaskListT.append(t) autoPostTaskListC.append(c) return True except: return False #删除定时任务 def del_auto_post_task(i): try: i = int(i) del autoPostTaskListT[i] del autoPostTaskListC[i] return True except: return False #列出当前定时任务列表 def show_auto_post_task(): try: for i in xrange(len(autoPostTaskListT)): print i,"\t",autoPostTaskListT[i], "\t", autoPostTaskListC[i] return True except: return False

剩下任务:如何设置一个子线程去进行定时扫描list来实现定时。

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/python-tencent-weibo-sdk-dingshifabu.html

发表评论

change vcode