ComeçarComece gratuitamente

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

Ver Curso

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)
Editar e executar código