python没有switch语句,if elif else组合足以应付大部分情况,但是还有更好的选择:
#使用if代替 if sys.argv[1] == 'e': walk_cd() elif sys.argv[1] == '-d': search_cd() ... else: raise CommandException("Unknow Command:" + sys.argv[1]) #更好的做法 commands = { '-e' : walk_cd, '-d' : search_cd, } try: commands[sys.argv[1]]() except KeyError: raise CommandException("Unknow Command:" + sys.argv[1])