[英]python command-line-style application with tkinter
在我当前正在使用的应用程序中,我想包含一个功能,管理员可以使用该功能访问某种命令行。
这不是实际的命令行,而是在我定义的文本框中查找关键字,并使用输入参数运行它们的链接函数。
例如:
get user data: erikthered
...将运行方法self.user_data('erikthered')
,但是我不确定如何优雅地完成此步骤,而无需使用诸如eval
或exec
类的混乱东西。
理想情况下,这些功能也应适用于多个参数。
如果这个问题被认为是主观的,我深表歉意,但是我之前从未真正编写过这样的东西,并且我很珍惜其他人的见识。
谢谢
更新使用exec
进行此操作的一种方法是使用字典,如下所示:
links = {'get users':'self.get_users(parameters)', 'get user data':'self.get_user_data(parameters)'}
terminal = self.terminal
line = str(terminal.index(INSERT).split('.')[0])
#get index of line
line = terminal.get(line+'.0', line+'.end')
splitline = line.split(':')
command = splitline[0]
parameters = splitline[1].split(',')
exec(links[command])
这是我必须获取用户键入的文本并绑定到回车键的代码。 但我宁愿不使用exec
。
如果您不想使用exec
,则可以编写函数字典:
def get_user_data(*args):
print(*args)
# dictionary of functions
functions = {'get user data': get_user_data}
line = "get user data: erikthered, turtle"
# parse line
command, params = line.split(":")
params = [p.strip() for p in params.split(",")]
functions[command](*params)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.