Uma das principais razões pelas quais as pessoas usam o Python é a análise e manipulação de texto. Se o seu programa precisar trabalhar com um arquivo, geralmente é melhor ler o arquivo uma linha por vez, por motivos de espaço na memória e velocidade de processamento. É melhor fazer isso com um loop while.
Esse código usa o primeiro argumento da linha de comando como o nome do arquivo a ser processado. A primeira linha abre e inicia um objeto de arquivo, "fileIN". A segunda linha então lê a primeira linha desse objeto de arquivo e atribui a uma variável de seqüência de caracteres "linha". O loop while é executado com base na constância de "line". Quando a "linha" muda, o loop reinicia. Isso continua até que não haja mais linhas do arquivo a serem lidas. O programa então sai.
Lendo o arquivo dessa maneira, o programa não exibe mais dados do que está definido para processar. Ele processa os dados introduzidos mais rapidamente, fornecendo sua saída de forma incremental. Dessa forma, a área de memória do programa é mantida baixa e a velocidade de processamento do computador não é afetada. Isso pode ser importante se você estiver escrevendo um script CGI que pode ver algumas centenas de instâncias em execução por vez.
A declaração pode ser uma única declaração ou um bloco de declarações. Todas as instruções recuadas na mesma quantidade são consideradas parte do mesmo bloco de código. Recuo é como o Python indica grupos de instruções.