Quando faço o laço:
for linha in arquivo:
print(linha)
A cada iteração a variável 'linha' representa todos os caracteres que estão numa linha do arquivo, como se fizéssemos:
linha = arquivo.readline()
Por que a variável 'linha' no laço não representa caractere por caractere?