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])