我正在用Python构建一个简单的解释器,但是在处理函数参数数量不同的情况时遇到了问题。我的当前方法是按照以下方式获取命令/参数列表。
args = str(raw_input('>> ')).split()
com = args.pop(0)
接着要执行com命令,我会检查它是否在我的指令-代码映射字典中。如果是,我会调用那里存储的函数。对于没有参数的命令,代码如下:
commands[com]()
然而,如果一个命令有多个参数,我希望是这样的:
commands[com](args[0],args[1])
有没有什么技巧可以将我的参数列表中的一些(或全部)元素传递给我要调用的函数?或者有没有更好的实现方法,而无需使用Python的Cmd
类?