Enviar um café pro programador

Arquivos em Python: Como Abrir e Ler - open() e read()

Neste tutorial introdutório da seção Arquivos em Python, vamos te ensinar como abrir e ler um arquivo armazenado em seu computador, usando duas funções open() e read().

Caso deseje estudar offline, veja:
Caso deseje trabalhar e ganhar dinheiro como programador Python:

Com Abrir um Arquivo em Python: open()

Antes de abrir um arquivo, vamos criar ele.

Na pasta em que vai ficar armazenado seu script, crie um arquivo chamado: teste.txt

Dentro dele escreva algo, como "Curso Python Progressivo".

Veja como ficam os arquivos (mesma pasta) e arquivo de texto aberto com uma string:
Como trabalhar com arquivos em Python
Para abrirmos o arquivo texte.txt vamos usar a função open().
Essa função recebe uma string, com o endereço do arquivo que você deseja abrir.

Como nosso arquivo está no mesmo diretório do script, podemos escrever só seu nome: 'teste.txt' (não se esqueça das aspas, precisa ser uma string).

E prontinho, essa função retorna objeto do tipo File (não se preocupe, em breve vamos aprender melhor o que é um objeto). Para não perdermos esse objeto, vamos associar ele a uma variável, a meuArquivo

Então, para abrir um arquivo de nome teste.txt, usamos o comando:
  • meuArquivo = open('teste.txt')

Experimente imprimir agora a variável meuArquivo:


meuArquivo = open('teste.txt')
print(meuArquivo)

Vai aparecer a seguinte informação:
<_io.TextIOWrapper name='teste.txt' mode='r' encoding='UTF-8'>
>>>
Ou seja, um punhado de informações sobre o arquivo teste.txt, como seu nome, modo de abertura (vamos explicar mais na frente) e codificação dele.

Como Ler um Arquivo: read()

Ok, abrimos um arquivo e já temos um 'meio' de se comunicar e trabalhar com o arquivo, através da variável meuArquivo.

Mas queremos acessar é o conteúdo dele, ver o que tem dentro.
Para isso, basta usarmos o método read(), que tem nos objetos do tipo File.

Para imprimir o conteúdo de um arquivo, é só fazer:
  • meuArquivo.read()
Vejamos um código onde abrimos um arquivo e depois imprimimos seu conteúdo:

meuArquivo = open('teste.txt')
print(meuArquivo.read())

E prontinho! Aparece no shell do Python, quando você rodar o script, o conteúdo do arquivo txt.
Bacana, não ?

Agora, em vez de deixar escrito no arquivo o texto 'Curso Python Progressivo', escreva:
Curso
Python
Progressivo

E rode novamente o programa, o resultado vai ser:
O método read() para ler um arquivo em Python

Ou seja, ele copiou idêntico ao arquivo, inclusive as quebras de linha.
Mesmo que o arquivo tenha 1 milhão de linhas de texto, o método read() vai retornar apenas uma string, com o texto inteiro do arquivo, ok?

E repetindo:
  • meuArquivo - é um objeto do tipo File
  • meuArquivo.read() - é uma string
São coisas diferentes!

6 comentários:

  1. Vlw, me ajudou bastante aqui ,to precisando fazer uns scripts que precisam ler arquivos.

    ResponderExcluir
  2. quando eu rodo :
    meuArquivo = open('teste.txt')
    print(meuArquivo.read())

    n aparece nada :\

    ResponderExcluir
    Respostas
    1. porque vc não colocou nada ainda

      Excluir
    2. Coloca pen('teste.txt','r'), tem que especificar o modo de acesso. Esse r é de leitura.

      Excluir
  3. n dá pra fazer com imagem?

    ResponderExcluir