我正在尝试验证字符串的有效性,以确保它是我可以传递给终端的合法命令。如果字符串通过测试,我返回 True。否则,我返回 False 和一条错误消息。
我的代码非常难看,有很多嵌套的 if 语句 - 我该如何改进它?
task = task.split()
if len(task) > 1:
if task[0] == 'svn':
if task[1] in ALLOWED:
if len(task[2:]) == ALLOWED[task[1]]:
return True, task, None
else:
return False, "Incorrect number of arguments."
else:
return False, "Not a legal command."
else:
return False, "Not a subversion command."
else:
return False, "Invalid input"