Leia dados a partir de ficheiros
Tip
Consulte a guia Texto e imagens para obter mais detalhes!
O Python dá-te várias formas de ler texto de um ficheiro. A melhor escolha depende do tamanho do ficheiro e do que queres fazer com ele.
Leia o ficheiro inteiro de uma vez
O .read() método devolve todo o ficheiro como uma única cadeia:
with open("notes.txt", "r") as file:
contents = file.read()
print(contents)
Esta abordagem funciona bem para ficheiros pequenos, mas para ficheiros muito grandes carrega tudo na memória de uma vez.
Note
Se o ficheiro não existir, open() em modo de leitura levanta um FileNotFoundError. Certifique-se de que o ficheiro existe antes de tentar lê-lo!
Leia o ficheiro como uma lista de linhas
O .readlines() método devolve cada linha como uma cadeia separada numa lista. Cada cadeia mantém o carácter de nova linha (\n) no final.
with open("notes.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # .strip() removes the trailing newline
Leia uma linha de cada vez
A forma mais eficiente para a memória é iterar diretamente sobre o objeto do ficheiro. Python lê uma linha por ciclo:
with open("notes.txt", "r") as file:
for line in file:
print(line.strip())
Este padrão é recomendado para ficheiros grandes porque apenas uma linha é mantida na memória de cada vez.
Escolher a abordagem certa
| Se você quiser... | Utiliza... |
|---|---|
| Trabalhar com o ficheiro inteiro como uma única cadeia | .read() |
| Obtenha uma lista de linhas às quais pode aceder por índice | .readlines() |
| Processe cada linha uma de cada vez de forma eficiente | for line in file |