Я сделал небольшую «консоль», которая разбивает команду на split()
. Я отделяю «команду» (первое «слово» от input()
) от «аргументов», следующих за первым словом. Вот код, который генерирует ошибку:
cmdCompl = input(prompt).strip().split()
cmdRaw = cmdCompl[0]
args = addArgsToList(cmdCompl)
addArgsToList()
функция:
def addArgsToList(lst=[]):
newList = []
for i in range(len(lst)):
newList.append(lst[i+1])
return newList
Я пытаюсь добавить каждое слово после cmdRaw
в список с именем args
, который возвращается addArgsToList()
. Но вместо этого я получаю:
Welcome to the test console!
Type help or ? for a list of commands
testconsole >>> help
Traceback (most recent call last):
File "testconsole.py", line 25, in <module>
args = addArgsToList(cmdCompl)
File "testconsole.py", line 15, in addArgsToList
newList.append(lst[i+1])
IndexError: list index out of range
Я не могу понять, почему я получаю IndexError
, потому что, насколько я знаю, newList
может быть динамически распределен.
Любая помощь