7.5 Lendo Um Arquivo

Ainda no terminal do Python 3, veremos o funcionamento da leitura de um arquivo. Como agora o arquivo palavras.txt está na pasta do projeto jogos , devemos executar o comando que abre o terminal do Python 3 na pasta do projeto.

$ cd jogos

$ python3

Vamos então abrir o arquivo no modo de leitura, basta passar o nome do arquivo e a letra “r” para a função open() , como já visto anteriormente.

arquivo = open(‘palavras.txt’, ‘r’)

Diferente do modo “w”, abrir um arquivo que não existe no modo “r” não vai criar um arquivo. Se “palavras.txt” não existir, o Python vai lançar o erro FileNotFoundError :

arquivo.open(‘frutas.txt’, ‘r’)

Traceback (most recent call last): File "<stdin>", line 1, in <module>
 

FileNotFoundError: [Errno 2] No such file or directory: ‘frutas.txt’

Como o arquivofrutas.txt não existe na pasta jogos, o Pyhton não consegue encontrar e acusa que não existe nenhum arquivo ou diretório com este nome na pasta raiz.‌

Como abrimos o arquivo no modo de leitura, a função write() não é suportada:

arquivo.write(“oi”)

Traceback (most recent call last): File "<stdin>", line 1, in <module>
 
io.UnsupportedOperation: not writable
 
Para ler o arquivo inteiro, utilizamos a função read() :
 
arquivo.read() 'banana\nmelancia\nmorango\nmanga\n'
 

Mas ao executar a função novamente, será retornado uma string vazia:

arquivo.read() ”

Isso acontece porque o arquivo é como um fluxo de linhas, que começa no início do arquivo como se fosse um cursor. Ele vai descendo e lendo o arquivo. Após ler tudo, ele fica posicionado no final do arquivo. Quando chamamos a função read() novamente, não há mais conteúdo pois ele todo já foi lido.

Portanto, para ler o arquivo novamente, devemos fechá-lo e abrí-lo outra vez:

arquivo.close()

arquivo = open(‘palavras.txt’, ‘r’) arquivo.read()


⬅️ Capítulo Anterior | Próximo Capítulo ➡️