这两天一直忙着用cmd模块写一个交互式程序来着,前天到凌晨5:00才睡,昨天晚上到2:00才睡。就是为了实现命令的自动完成功能,没成想这么一个小东东费了我九牛二虎之力啊!!!!
还好的是最终还是实现了,只不过现在回过头来想一想,这么做法不好,记得一个老师上课的时候讲过“花费20%左右的努力可以获得80%的效率,可是要获得90%以上的完美效果就可能要花费你另外的80%的辛苦!!!”,这个时候真的要考虑是不是需要这样做了。以后再碰到这种事情,一定要考虑清楚才去做!!
做这个还有一个心得就是,做一件事情之前,一定要有一定的规划,然后按照它去实施,要分析考虑好可能出现的问题,对要用到的知识要做到基本熟悉。就那这件事情来说,我前两天做的工作基本思是无用功,因为在最终的代码中,前几天的想法一个都没有落实下来,因为它们始终不能满足我的要求。但是仔细读了文档和相关模块的源代码之后,对最初的程序稍加改造就实现了我想要的功能。如果先前能够静下心来好好看看源码,那么岂不是事半功倍!!!
import cmd
class Interactive(cmd.Cmd):
def __init__(self):
cmd.Cmd.__init__(self)
self.cmd = ''
self.prompt = '>>>'
def do_test(self,arg):
self.cmd = arg
if self.cmd == '':
print 'input something please!'
if __name__ == '__main__':
test = Interactive()
test.cmdloop()