在我的 Python 项目中,我试图使界面有点像命令提示符,我可以在其中键入函数的名称并执行它。例子:
Prompt >>> run.check
Running function check....
Prompt >>> run.get
Running function get
在上面的示例中,当我键入 run.check 时,它应该运行一个名为 check 的函数,而 run.get 应该运行函数 get 等等。
现在我有一个使用 raw_input 的提示,我可以通过使用函数别名和函数名的字典来执行命令,即,
COMMANDS = {'exit': sys.exit,
'hello': greet,
'option3': function3,
'option4': function4,
}
cmd = raw_input("Prompt >>> ")
COMMANDS.get(cmd, invalidFunction)()
但是我的程序中的很多函数都需要传递参数给它,我不知道如何使用这个方法。另一件事是,我的项目的主要目的是将模块(.py 文件)添加到文件夹中,然后使用主 python 程序使用类似界面的命令提示符动态执行,我希望以最少的 if 执行此操作主程序可能没有变化。
我不确定是否使用 exec 函数,因为它在安全性方面存在一些缺点。
谢谢你。