23 lines
598 B
Python
23 lines
598 B
Python
# 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)
|