近期由于兴趣选择了Python用来开发一款辅助工具,当多任务的时候需要顺序的执行,方便的动态加载或移除不需要的任务。
这不是我第一次接触脚本类语言,所以对Python上手比较容易。我选择了PyQT作为界面工具,后台部分需要方便的修改,暂时没有寻找适合的,由于处于边学边用的阶段,如果不对,还请指正,谢谢!
环境:在windows下,选择了eclipse+pydev,python选择了2.7,至于为什么不选最新版本,由于需要使用的插件在3.4版本安装不成功。
开始正题,我需要建立一个任务,不需要很复杂的功能,只需要在对应状态时运行内部的执行功能
class TaskBase(object):
def __init__(self):
self.isexecute = True
def run(self):
if not self.isexecute:
return
self.execute()
def execute(self):
print("I am TaskBase")
由于任务的变化,需要实现的功能不同,所以需要继承,并实现需要执行的功能
class MyTask(TaskBase):
def __init__(self):
super(MyTask,self).__init__()
def execute(self):
#TaskBase.execute(self)
print("I am MyTask")
当有很多的任务时,需要执行任务我不需要一个个启动
class TaskExecute(object):
def __init__(self):
self.tasklist=[]
def add(self,TaskBase):
self.tasklist.append(TaskBase)
def run(self):
for task in self.tasklist:
task.run()
那么我们看下整体的效果如何
执行的实例
if __name__ == "__main__":
taskexcute = TaskExecute()
taskexcute.add(TaskBase())
taskexcute.add(MyTask())
taskexcute.run()
输出结果
I am TaskBase
I am MyTask