Gerenciamento de recursos
O uso de recursos como manipulações de arquivos ou acesso ao banco de dados é bastante prevalente em todas as linguagens do computador. No entanto, há um número finito desses recursos. Temos que garantir que restaurar esses recursos após o uso seria o principal obstáculo. Quando não forem dados, o vazamento de recursos ocorrerá, e diminui ou até danifica o computador. A capacidade dos usuários de construir e dividir recursos realocadores será massivamente valiosa. Os gerentes de contexto do Python que facilitam a manipulação de recursos de maneira eficaz podem ser usados para realizar isso.
Gerente de contexto para gerenciamento de recursos
Ficará difícil fechar um arquivo imediatamente quando um pedaço de código lançar um erro ou ter um mecanismo complicado, incluindo muitos caminhos retornados. Try-exceto-final é normalmente utilizado em determinadas linguagens de programação para garantir que. De fato, o recurso de arquivo é encerrado após usá -lo, embora haja um erro. Gerentes de contexto, um módulo de Python, ativar o gerenciamento de recursos simplesmente. O termo "com" será utilizado. Isso criará um objeto que gerencia o contexto até que tenha sido analisado. Classes ou processos com modificadores seriam utilizados para criar gerentes de contexto. Vamos discutir mais gerente de contexto.
Exemplo nº 1
Enquanto utiliza classes para construir gerentes de contexto, verifique se a classe contém as funções como Enter () e Exit (). As atividades de limpeza são realizadas através da função Exit (), que não retornará nada além da função Enter () fornece o recurso que requer desenvolvimento. Para analisar a estrutura de gerar gerentes de contexto com aulas, vamos desenvolver uma classe básica chamada contextManager, como visto aqui:
Classe contextManager ():
No início do código, criamos uma classe denominada como contextManager. Dentro desta classe, definimos uma função init (). Em seguida, utilizamos o método print () para exibir a declaração “a função init será chamada”. Na linha seguinte, outra função, enter (), será definida. Esta função contém "Self2" como um argumento. Chamaremos o método print () para imprimir a declaração “Enter a função será chamada”. Então a declaração de devolução é chamada.
Vamos definir uma nova função chamada Exit (). Esta função tem quatro argumentos diferentes, que contêm o valor de Self2, exc_type, exc_value e exc_traceback. Para esta função, a instrução print () também está sendo aplicada para mostrar a linha “a função de saída será chamada”. Por fim, criaremos um gerente de objetos da classe ContextManager. Empregamos uma declaração impressa () que mostra a mensagem “Aqui está a declaração”.
Uma instância do contextManager é gerada neste exemplo. O atributo após o termo "gerente" recebe esta alocação. As seguintes funções são realizadas sequencialmente ao executar o código acima mencionado:
Exemplo nº 2
Vamos usar a abordagem anterior para construir uma classe que ajuda no gerenciamento de recursos de arquivo. A classe FileManager facilita o acesso, escrevendo ou lendo e encerrando arquivos.
Classe FileManager ():
Primeiro de tudo, criamos uma classe conhecida como "FileManager". Agora definimos diferentes funções relacionadas a esta classe. Primeiro, definimos a função de init (). Dentro desta função, passamos três argumentos vários argumentos. O primeiro parâmetro é "Self1", o segundo parâmetro mostra o nome do arquivo "nome do arquivo" e o último parâmetro mostra o "modo" do arquivo. Criamos um objeto denominado nome de arquivo e definimos seu valor igual ao nome original do arquivo necessário.
Em seguida, criamos outro objeto chamado "modo", e aqui especificamos o formato do arquivo definido. Declaramos o último objeto nomeado como "arquivo" e agora o valor desse objeto será definido como "nenhum". Vamos inicializar outra função enter (). Fornecemos o valor de "Self2" como um argumento para esta função. Aqui chamamos o método Open () para abrir o arquivo especificado. Esta função possui dois parâmetros que incluem o nome do arquivo que queremos abrir e o modo de abrir o arquivo. O parâmetro de modo mostra para qual objetivo queremos abrir o arquivo. O modo do arquivo será "gravar" ou "ler".
Então utilizamos a declaração de retorno. Na próxima etapa, queremos sair desse arquivo. Então, aplicamos o método Exit (). Vamos passar quatro argumentos para esta função. Em seguida, utilizamos o método FileManager (). Carregamos um arquivo usando esta função. Dentro desta função, especificamos o texto que queremos escrever no arquivo. E também especificamos o modo do arquivo "w". Agora aplicamos o método write (). Para encerrar o código, empregamos o método print (). Dentro desta função, utilizamos uma declaração fechada para fechar o arquivo.
Ao utilizar o Gerenciador de contexto, gerenciaremos arquivos. Quando o bloco "com" é implementado, as etapas apropriadas ocorrem uma após a outra:
Conclusão
Neste artigo, conversamos sobre o gerente de contexto Python. Podemos atribuir e utilizar os recursos nos momentos específicos que escolhemos devido a gerentes de contexto. A expressão "com" é a ilustração mais usada de um gerente de contexto. Sempre que queremos emparelhar dois eventos relacionados e implementar um código entre eles, utilizamos gerentes de contexto. Executamos um exemplo no qual demonstramos a criação de um gerente de contexto. Manipulamos arquivos pelo uso de um gerente de contexto e com comandos.