Como verificar um arquivo é aberto ou fechado em python

Como verificar um arquivo é aberto ou fechado em python
O arquivo é usado para armazenar dados permanentemente. Trabalhar com um arquivo é uma tarefa muito comum de qualquer linguagem de programação. Muitas funções internas existem no Python para criar, abrir, ler, escrever e fechar o arquivo. Dois tipos de arquivos podem ser criados para armazenar dados. Estes são arquivos de texto e arquivos binários. Qualquer arquivo é obrigado a abrir antes de ler ou escrever. O abrir() A função é usada no python para abrir um arquivo. Usando o abrir() A função é uma maneira de verificar um arquivo específico é aberto ou fechado. Se o abrir() função abre um arquivo aberto anteriormente, depois um Ioerror será gerado. Outra maneira de verificar um arquivo é aberta ou fechada é verificar os valores do fechado propriedade do objeto de manipulador de arquivos. Usando renomear () Função é outra maneira de verificar se o arquivo é aberto ou fechado. Diferentes maneiras de verificar qualquer arquivo é aberta ou fechada no Python foram mostradas neste tutorial.

Crie um arquivo para verificar:

Você pode usar qualquer arquivo existente ou criar um novo arquivo para testar o código de exemplo mostrado neste tutorial. Um novo arquivo de texto nomeado clientes.TXT foi criado com o seguinte conteúdo a ser usado mais adiante na próxima parte do tutorial.

Nome do id em e -mail
01 JONY LIXE [email protected]
02 Manik Hossain [email protected]
03 Neha Akter [email protected]
04 Janatul Ferdous [email protected]
05 Helal Uddin [email protected]

Exemplo 1: Verifique se o arquivo está aberto ou não usando o Ioerror

Ioerror gera quando a função aberta () é chamada para abrir um arquivo que foi aberto antes. Crie um arquivo python com o seguinte script para verificar um arquivo é aberto ou não usando Try-exceto bloquear. Aqui, qualquer nome de arquivo existente será tomado como entrada e aberto para leitura. Em seguida, a função Open () é chamada novamente para abrir o mesmo arquivo que aumentará um ioerror e imprimir a mensagem de erro.

# Pegue o nome do arquivo para verificar
nome do arquivo = input ("Digite qualquer nome de arquivo existente: \ n")
# Abra o arquivo pela primeira vez usando a função Open ()
FileHandler = aberto (nome do arquivo, "r")
# Tente abrir o mesmo arquivo novamente
tentar:
com open ("nome do arquivo", "r") como arquivo:
# Imprima a mensagem de sucesso
print ("O arquivo foi aberto para leitura.")
# Levante erro se o arquivo for aberto antes
Exceto ioerror:
print ("o arquivo já foi aberto.")

Saída:

A saída a seguir aparecerá após a execução do script acima. Aqui, clientes.TXT existe no local atual e a mensagem de erro, “O arquivo já foi aberto,” Imprimiu para o Ioerror exceção.

Exemplo 2: Verifique se o arquivo está fechado ou não usando a propriedade fechada.

O valor do fechado A propriedade será verdadeira se algum arquivo estiver fechado. Crie um arquivo python com o seguinte script para verificar um arquivo está fechado ou não que exista no local atual. O script de exemplo anterior gerará um erro se o nome do arquivo retirado do usuário não existir no local atual. Este problema resolveu neste exemplo. O OS O módulo é usado aqui para verificar a existência do nome do arquivo que será retirado do usuário. A função check_closed () definida para verificar se o arquivo está fechado ou não será chamado se o arquivo existir.

# Importar o módulo OS para verificar a existência do arquivo
OS de importação
# Função drfine verifique se o arquivo está fechado ou não
def check_closed ():
Se FileHandler.fechado == false:
# Imprima a mensagem de sucesso
print ("O arquivo foi aberto para leitura.")
outro:
# Imprima a mensagem de erro
impressão ("o arquivo fechado.")
# Pegue o nome do arquivo para verificar
nome do arquivo = input ("Digite qualquer nome de arquivo existente: \ n")
# Verifique se o arquivo existe ou não
se os.caminho.existe (nome do arquivo):
# Abra o arquivo para leitura
FileHandler = aberto (nome do arquivo, "r")
# Ligue para a função
check_closed ()
outro:
# Mensagem de impressão se o arquivo não existir
print ("O arquivo não existe.")

Saída:

A saída a seguir aparecerá após a execução do script acima. Aqui, clientes.TXT existe no local atual e a mensagem de sucesso, “O arquivo foi aberto para leitura” Imprimiu porque o valor da propriedade fechada retornou Falso.

Exemplo 3: Verifique se o arquivo é aberto ou não usando o aserror

O OSERROR gera quando a função renome () é chamada mais de uma vez para um arquivo que já está aberto. Crie um arquivo python com o seguinte script para verificar um arquivo é aberto ou fechado usando OSERROR. O módulo OS foi usado no script para verificar a existência do arquivo e renomear o arquivo. Quando o renomear () A função é chamada pela segunda vez, o OSerror será gerado e a mensagem de erro personalizada será impressa.

# Importar o módulo OS para verificar a existência do arquivo
OS de importação
# Defina o nome do arquivo existente
FileName = 'Clientes.TXT'
# Defina o novo nome do arquivo
newname = 'clientes.TXT'
# Verifique se o arquivo existe ou não
se os.caminho.existe (nome do arquivo):
tentar:
# Ligue para a função Renomear pela primeira vez
OS.Renomear (nome do arquivo, nome de newname)
# Ligue para a função Renomear pela segunda vez
OS.Renomear (nome do arquivo, nome de newname)
# Levante erro se o arquivo foi aberto
Exceto OSERROR:
impressão ("o arquivo ainda está aberto.")
outro:
# Mensagem de impressão se o arquivo não existir
print ("O arquivo não existe.")

Saída:

A saída a seguir aparecerá após a execução do script acima. Aqui, clientes.TXT existe no local atual e a mensagem de erro, “O arquivo ainda está aberto” Imprimiu porque o OSERROR a exceção gerou quando o segundo renomear () A função foi executada.

Conclusão:

Quando precisamos trabalhar com o mesmo arquivo várias vezes em um script, é essencial saber se o arquivo é aberto ou fechado. É melhor chamar a função Close () para fechar o arquivo após concluir a operação do arquivo. O erro ocorre quando um arquivo é aberto pela segunda vez no mesmo script sem fechá -lo. Diferentes soluções para esse problema foram mostradas neste tutorial usando exemplos simples para ajudar os usuários do Python.