【发布时间】:2010-05-03 00:52:30
【问题描述】:
我正在尝试创建一个类似于 shell 的环境,在该环境中,用户会看到“>>>”,并且可以输入许多预定义命令中的任何一个。但是,我能想到的唯一方法是使用字典映射命令->代码和 python 的“exec”。
有更正确的方法吗?
【问题讨论】:
我正在尝试创建一个类似于 shell 的环境,在该环境中,用户会看到“>>>”,并且可以输入许多预定义命令中的任何一个。但是,我能想到的唯一方法是使用字典映射命令->代码和 python 的“exec”。
有更正确的方法吗?
【问题讨论】:
标准库模块cmd 专门用于此。
如果您最终推出了自己的解决方案,则无需涉及 exec。您的字典映射命令到代码应该将字符串映射到字符串。它可以将字符串映射到实际函数。实际上,类是字符串到代码(方法名到方法定义)的映射。
【讨论】:
cmd2 可用作提供附加功能的直接替代品pypi.python.org/pypi/cmd2
如果您正在制作 Python 交互式解释器,请查看 code 模块。
【讨论】: