Abra um arquivo em Python usando a declaração 'com'

Abra um arquivo em Python usando a declaração 'com'
Quando requer armazenar alguns dados permanentemente para a finalidade de programação, um arquivo é usado para realizar esta tarefa. Geralmente, o abrir() A função é usada no Python para abrir um arquivo para ler e escrever. O abrir() o método retorna um objeto para funcionar com o arquivo. Quando qualquer arquivo é aberto pelo abrir() função, então é necessário fechar o arquivo. Usando o 'com'Declaração é a maneira alternativa de abrir um arquivo no Python. É melhor do que o abrir() função e ajuda a gerenciar o recurso com mais eficiência, pois garante que o recurso aberto seja fechado fechando o arquivo automaticamente após concluir a tarefa. O erro de abertura do arquivo também pode ser tratado sem o bloco de tentativa de exceção usando o 'com' declaração.

Sintaxe:

A sintaxe do 'com'Declaração para abrir um arquivo para leitura e escrita mostrou abaixo.

com open (arquivo, modo) como file_handler

  • O primeiro argumento é obrigatório e contém o nome do arquivo.
  • O segundo argumento é opcional que é usado para definir o modo para abrir o arquivo para ler, escrever ou anexar.

Exemplo 1: Leia um arquivo de texto usando a instrução 'com'

Crie um arquivo python com o seguinte script que abrirá um arquivo de texto usando o 'com' declaração. Aqui o Temp.TXT o arquivo será aberto para leitura e o ReadLines () A função será usada para ler o conteúdo do arquivo e armazená -lo em uma variável de lista. Em seguida, o loop for iterará os valores da lista e imprimirá o conteúdo do arquivo. O fechado atributo será Verdadeiro Depois de ler o conteúdo do arquivo.

#Open um arquivo para leitura usando 'com' declaração
com open ('vendas.txt ') como fh:
#Read de arquivo linha por linha e armazenar em uma lista
dados = fh.ReadLines ()
#Itere a lista e imprima cada valor
Para valor em dados:
Imprimir (valor, end = ")
#Verifique se o arquivo está fechado ou não
se fh.fechado :
impressão ("\ n o arquivo está fechado.")

Saída:

A saída a seguir aparecerá após a execução do script acima se o vendas.TXT Existe um arquivo no local atual. A saída mostra que o arquivo está fechado automaticamente após concluir a leitura do arquivo.

Exemplo 2: Leia um arquivo binário usando a instrução 'com'

Crie um arquivo python com o seguinte script que abrirá um arquivo binário para ler e calcular o tamanho do arquivo em bytes. O nome do arquivo será retirado do usuário.

#Import OS Módulo
OS de importação
#Tome o nome do arquivo do usuário
arquivo de arquivo = input ("Digite um nome de imagem:")
#Verifique o nome do arquivo existe ou não
se os.caminho.existe (nome do arquivo):
#Opene o nome do arquivo para leitura
Com o Open (nome do arquivo, 'rb') como img:
#Inialize o contador
contador = 0
#Leia o conteúdo do arquivo
enquanto img.Leia (verdadeiro):
#Ncrement o balcão
contador += 1
print ("O tamanho do arquivo de imagem é: %D bytes." %contador)
outro:
print ("O arquivo não existe.")

Saída:

A seguinte saída semelhante aparecerá após a execução do script acima se o pássaro.JPEG Existe um arquivo no local atual. A saída mostra que o tamanho do arquivo é 9946 bytes.

Exemplo 3: Uso do aninhado 'com declarações'

Crie um arquivo python com o seguinte script que abrirá um arquivo para ler e abrir outro arquivo para escrever usando as declarações aninhadas 'com'. O primeiro 'com'A declaração é usada para abrir o Dia da semana.TXT Arquivo para a leitura que é criada antes. O segundo 'com'A declaração é usada para abrir o feriado.TXT Arquive para escrever o conteúdo específico do Dia da semana.TXT arquivo.

#Opene um arquivo para ler
com open ('dia da semana.txt ',' r ') como fh_in:
#Opene um arquivo para escrever
com open ('feriado.txt ',' w ') como fh_out:
# Leia o arquivo linha por linha e armazene em uma lista
dados = fh_in.ReadLines ()
para Val em dados:
#Verifique a condição antes de escrever
Se Val.tira () == 'sábado' ou val.tira () == 'domingo':
fh_out.Escreva (Val)
Impressão ("Férias são: \ n")
#Opening o arquivo recém -criado para leitura
com open ('feriado.txt ',' r ') como fh:
# Leia o arquivo linha por linha e armazene em uma lista
dados = fh.ReadLines ()
para Val em dados:
Imprimir (Val)

Saída:

A saída a seguir aparecerá após a execução do script acima.

Exemplo-4: Abra vários arquivos em uma única declaração 'com'

Crie um arquivo python com o seguinte script que abrirá dois arquivos para escrever usando um único 'com' declaração. O script abrirá o Dia da semana.TXT arquivo para leitura e algum conteúdo específico deste arquivo será escrito no out1.TXT arquivo e out2.TXT arquivo. Em seguida, os dois arquivos recém -escritos serão abertos para leitura e o conteúdo desses arquivos será impresso.

#Open dois arquivos para escrever
com open ('out1.txt ',' w ') como fh1, aberto (' out2.txt ',' w ') como fh2:
# Abra um arquivo para ler
com open ('dia da semana.txt ',' r ') como fh_in:
# Leia o arquivo linha por linha e armazene em uma lista
dados = fh_in.ReadLines ()
para Val em dados:
#Verifique a condição antes de escrever
Se Val.tira () == 'sábado' ou val.tira () == 'domingo':
FH2.Escreva (Val)
outro:
FH1.Escreva (Val)
#Open dois arquivos recém -escritos para leitura
com open ('out1.txt ',' r ') como fh1, aberto (' out2.txt ',' r ') como fh2:
Impressão (FH1.readLines ())
Impressão (FH2.readLines ())

Saída:

A saída a seguir aparecerá após a execução do script acima.

Exemplo 5: Compare 'com' Declaração com a função Open () e Open ()

Crie um arquivo python com o seguinte script que abrirá o mesmo arquivo nomeado Dia da semana.TXT usando o 'comDeclaração e abrir() função. Foi demonstrado no exemplo anterior que o arquivo está fechado automaticamente após ler ou escrever o conteúdo, se for aberto usando o 'com' declaração. Mas o arquivo exige fechar usando o fechamento () função, se o arquivo for aberto usando a abertura() Função que foi mostrada usando o bloqueio de Tryfinly neste script.

# Declare uma função para verificar se o arquivo está fechado ou não
def check (f):
se f.fechado:
print ("O arquivo foi fechado.")
outro:
print ("O arquivo ainda não foi fechado.")
# Abra um arquivo para leitura usando a declaração 'com'
com open ('dia da semana.txt ') como fh:
dados = fh.ler()
# Chame a função check ()
Check (fh)
# Abra um arquivo para leitura usando a função Open ()
fh = aberto ('dia da semana.TXT')
tentar:
dados = fh.ler()
# Chame a função check ()
Check (fh)
finalmente:
fh.fechar()
# Chame a função check ()
Check (fh)

Saída:


A saída a seguir aparecerá após a execução do script acima.

Conclusão

Diferentes usos do 'com'Declaração para abrir qualquer arquivo para leitura ou escrita foi mostrada neste tutorial usando exemplos simples que ajudarão os usuários do Python a conhecer os propósitos de usar o'com'Declaração em Python.