我的程序正在从标准输入(来自用户)中获取输入,并基于调用函数的输入。
dict = {'cd': cd} #etc
cmd = input('enter command: ')
例如,一个功能可能是更改目录的功能:
def cd(dir):
os.Chdir(dir)
此功能需要一个附加参数才能正常工作。
为了传递附加参数,我使用了一个for循环,该循环利用字符串切片和dict函数来检索该函数(对于i,范围从最小键到最大键):
for i in range(1, len(max(dict.keys(), key=len))):
target = dict.get(cmd[:i+1])
if target:
target(cmd)
如果cmd等于'çd',则此for循环应调用'cd()'函数。
我很好奇,是使用for循环迭代dict键是否更有效,还是使用“ .get()”功能是最快,最有效的方法,还是有更好的方法来检查用户输入?有效吗?