2015-03-12 2 views
0

Итак, я полностью осведомлен о том, как evileval() есть, но как бы я использовал знак с ним? Скажем, у меня есть строка, которая говорит "func(arg1, arg2)". Затем я разделяю ее на ["func", "arg1", "arg2"]. Как использовать eval() для использования splat, чтобы запускать каждый аргумент, заданный в функцию.Использовать знаки с eval()

Пример:

funcs = ("saySomething", "yellTaco") 
def saySomething(something): 
print(something) 
def yellTaco(times): 
for i in range(times): 
    print("TACO") 
c = input("> ") # Let's say I input: "saySomething your-mom" 
c = c.split(" ") 
if c[0] in funcs: 
eval(c[0]+"("+[HOW DO I PUT A SPLAT FOR THE REST OF THE TABLE HERE?]+")") 

ответ

1

Включите их в строку разделенных запятыми.

', '.join(c[1:]) 
+0

Arrrgh! Это было так просто, что я не думал об этом. Спасибо! –

Смежные вопросы