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