Context Manager com contextlib.contextmanager

This commit is contained in:
Luiz Otávio
2022-11-26 09:49:13 -03:00
parent 6d6f3e1537
commit 5047ee07ab
3 changed files with 25 additions and 0 deletions

View File

@@ -1 +1,3 @@
Linha 1
Linha 2
Linha 3

22
aula150.py Normal file
View File

@@ -0,0 +1,22 @@
# Context Manager com função - Criando e Usando gerenciadores de contexto
from contextlib import contextmanager
@contextmanager
def my_open(caminho_arquivo, modo):
try:
print('Abrindo arquivo')
arquivo = open(caminho_arquivo, modo, encoding='utf8')
yield arquivo
except Exception as e:
print('Ocorreu erro', e)
finally:
print('Fechando arquivo')
arquivo.close()
with my_open('aula150.txt', 'w') as arquivo:
arquivo.write('Linha 1\n')
arquivo.write('Linha 2\n', 123)
arquivo.write('Linha 3\n')
print('WITH', arquivo)

1
aula150.txt Normal file
View File

@@ -0,0 +1 @@
Linha 1