Context Manager com contextlib.contextmanager
This commit is contained in:
@@ -1 +1,3 @@
|
|||||||
Linha 1
|
Linha 1
|
||||||
|
Linha 2
|
||||||
|
Linha 3
|
||||||
|
|||||||
22
aula150.py
Normal file
22
aula150.py
Normal 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
1
aula150.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Linha 1
|
||||||
Reference in New Issue
Block a user