Os erros do tipo IndexError referem-se tipicamente a casos onde estás a tentar aceder a uma posição (ou índice, como lhe chamamos na programação em geral) que não existe na estrutura de dados em causa. Repara no seguinte exemplo, onde tento aceder à 10ª posição de uma lista com menos de 10 elementos:
Python 3.5.2 (default, Sep 10 2016, 08:21:44)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = [1, 2, 3, 4]
>>> a[1]
2
>>> # E agora vamos provocar o erro:
...
>>> a[10]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
Com este exemplo eu queria dizer que o erro provavelmente te apareceu no contexto de uma invocação imprópria do script durante os teus testes, uma vez que a lista em causa era sys.argv, o que implicaria um número de argumentos inapropriado (especificamente, se sys.argv[1] dá um IndexError sabemos que o script foi lançado sem nenhum argumento adicional).
↧