Estoy construyendo un intérprete simple en python y tengo problemas manejando diferentes números de argumentos para mis funciones. Mi método actual es obtener una lista de los comandos/argumentos de la siguiente manera.Pasar elementos de una lista como argumentos a una función en python
args = str(raw_input('>> ')).split()
com = args.pop(0)
A continuación, para ejecutar com, puedo comprobar para ver si está en mi diccionario de command-> asignaciones de código y si es que llame a la función que he almacenado allí. Para un comando sin argumentos, este sería el resultado:
commands[com]()
Sin embargo, si un comando tenía múltiples argumentos, me gustaría que esto:
commands[com](args[0],args[1])
¿Hay algún truco en el que podía pasar algunos (o todos) de los elementos de mi lista de argumentos a la función a la que intento llamar? ¿O hay una mejor manera de implementar esto sin tener que usar la clase cmd de python?