Alterar o diretório de trabalho
Você está usando uma biblioteca de código aberto que permite treinar redes neurais profundas em seus dados. Infelizmente, durante o treinamento, essa biblioteca grava modelos de ponto de verificação (ou seja, modelos que foram treinados em uma parte dos dados) no diretório de trabalho atual. Você acha esse comportamento frustrante porque não quer ter que iniciar o script a partir do diretório em que os modelos serão salvos.
Você decide que uma maneira de corrigir isso é escrever um gerenciador de contexto que altere o diretório de trabalho atual, permita que você crie seus modelos e, em seguida, redefina o diretório de trabalho para o local original. Você deve ter certeza de que os erros que ocorrerem durante o treinamento do modelo não o impedirão de redefinir o diretório de trabalho para o local original.
Este exercício faz parte do curso
Como escrever funções em Python
Instruções de exercício
- Adicione uma instrução que permita que você trate quaisquer erros que possam ocorrer dentro do contexto.
- Adicione uma declaração que garanta que
os.chdir(current_dir)
será chamado, independentemente de haver um erro ou não.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
def in_dir(directory):
"""Change current working directory to `directory`,
allow the user to run some code, and change back.
Args:
directory (str): The path to a directory to work in.
"""
current_dir = os.getcwd()
os.chdir(directory)
# Add code that lets you handle errors
____:
yield
# Ensure the directory is reset,
# whether there was an error or not
____:
os.chdir(current_dir)