Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Laço for com arquivos

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?

2 respostas
solução!

O laço for quando aplicado a um arquivo texto funciona de forma equivalente ao readline, executado várias vezes.

Se for aplicado a uma linha de texto (string), então irá ler caracter por caracter. Se for aplicado a uma lista, irá ler elemento por elemento.

Portanto o for se adequa ao objeto no qual é executado a iteração.

Se quiser ler caracter por caracter, uma solução seria:

for linha in arquivo:
       for c in linha:
              print(c)

Agora está mais claro pra mim. Muito obrigada