Python - 检查字符串是否在列表中并为其执行特定代码

问题描述 投票:0回答:1
我想制作一个“命令处理”系统,以便您可以在终端中键入“/disconnect”之类的命令,它会执行用于断开客户端程序与服务器的连接的代码。或者 /connect 并连接到它。这可以通过获取用户输入并检查它是否在可用命令列表中来完成,但是如何执行该特定命令的代码呢?我不想这样做:

if input == "/disconnect": #code for disconnecting elif input == "/connect" #code for connecting ...
因为它很笨重,最后会是一堵巨大的

if else

墙。

关于创建命令列表并检查用户输入是否在我可以设置的列表中的部分,但我不知道如何执行“执行代码”部分。

当只有这两个命令时,我按照上面的示例进行操作,但由于我想扩展命令列表,我也想首先重写它,以便更高效。

python list command-line-interface user-input
1个回答
0
投票
您可以使用以字符串作为键、函数作为值的字典

actions = { "/disconnect": disconnectfunc, "/connect": connectfunc } actions[input]()
您还可以使用 lambda 函数作为函数

© www.soinside.com 2019 - 2024. All rights reserved.