从raw_input读取和运行函数调用

时间:2016-01-11 21:46:32

标签: python string

我正在尝试从raw_input读取函数调用和值,并在列表中运行它们。我已经创建了一个列表,我正在调用函数,以及一个列表来保存raw_input。我的问题是从原始列表中调用名为cmd的列表中的函数调用,称为“l”。例如,如果cmd [0]的值为'append',并且cmd [1:]的值为[6,7,8],我想调用'l.append(6,7,8)' 。

这是我在%字符串中不断收到错误的地方。 print(l。'%s(%s)'%(cmd [0],cmd [1:]))

1 个答案:

答案 0 :(得分:2)

只是将函数打印到STDOUT不会调用它。考虑使用Pythons内置函数exec(),它支持动态执行Python代码。

使用exec()只需将字符串传递给它,然后将其解析为一组Python语句,然后执行该语句。您的字符串包含一个对象l,一个方法append()存储在cmd[0]中,方法参数args包含在cmd[1:]中:

exec("{object}.{method}({args})".format(object="l", method=cmd[0], args=cmd[1:]))

希望这会有所帮助:)