Como usar “with” em python para abrir arquivos (incluindo exemplos)


Você pode usar a seguinte sintaxe para abrir um arquivo em Python, fazer algo com ele e depois fechar o arquivo:

 file = open (' my_data.csv ')

df = file. read ()

print (df)

file. close ()

O problema dessa abordagem é que é muito fácil esquecer de fechar o arquivo.

Uma abordagem melhor é usar open , que usa a seguinte sintaxe básica:

 with open (' my_data.csv ') as file:

   df = file. read ()

   print (df)

Usando essa abordagem, o arquivo com o qual você está trabalhando é fechado automaticamente para que você não precise se lembrar de usar file.close() .

Os exemplos a seguir mostram como usar open em diferentes cenários.

Exemplo 1: Use a instrução With para ler o arquivo

O código a seguir mostra como usar a instrução “with” para ler um arquivo em Python e imprimir o conteúdo do arquivo:

 with open (' my_data.csv ') as file:

   df = file. read ()

   print (df)

,points, assists, rebounds
0.11.5.6
1,17,7,8
2,16,7,8
3,18,9,10
4,22,12,14
5,25,9,12
6,26,9,12
7,24,4,10
8,29,8,11

O conteúdo do arquivo é impresso e o arquivo é fechado automaticamente sem digitarmos file.close() .

Exemplo 2: Use a instrução With para escrever um arquivo

O código a seguir mostra como usar a instrução “with” para escrever texto em um arquivo:

 with open (' data_out.csv ', ' w ') as file:

    file. write (' Some text to write to CSV file ')

Observe que o ‘ w ‘ na instrução open() diz ao Python para usar o modo ‘gravação’ com o arquivo em vez do modo de leitura.

Exemplo 3: Use a instrução With para ler e gravar arquivos

Também podemos abrir vários arquivos de uma vez em uma única instrução “with”.

O código a seguir mostra como usar a instrução “with” para abrir dois arquivos, ler o conteúdo de um arquivo e, em seguida, gravar o conteúdo do primeiro arquivo no segundo arquivo:

 with open (' my_data.csv ', ' r ') as infile, open (' data_out.csv ', ' w ') as outfile:
    for line in infile:
        outfile. write (line)

Se navegarmos até o local onde escrevemos “data_out.csv”, poderemos então visualizar o conteúdo do arquivo:

Observe que podemos usar a função open() para abrir quantos arquivos quisermos em uma única instrução “with”.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em Python:

Como ler arquivos CSV com Pandas
Como ler arquivos Excel com Pandas
Como ler arquivos de texto com Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *