Ändra arbetskatalogen
Du använder ett bibliotek med öppen källkod för att träna djupa neurala nätverk på dina data. Tyvärr skriver biblioteket ut kontrollpunktsmodeller (det vill säga modeller som tränats på en del av datan) till den aktuella arbetskatalogen under träningen. Det är opraktiskt, eftersom du inte vill behöva starta skriptet från den katalog där modellerna sparas.
Du bestämmer dig för att lösa det här genom att skriva en kontexthanterare som byter arbetskatalog, låter dig bygga dina modeller och sedan återställer arbetskatalogen till sin ursprungliga plats. Se till att eventuella fel som uppstår under modellträningen inte hindrar återställningen av arbetskatalogen.
Den här övningen är en del av kursen
Att skriva funktioner i Python
Övningsinstruktioner
- Lägg till en sats som hanterar eventuella fel som kan uppstå inuti kontexten.
- Lägg till en sats som garanterar att
os.chdir(current_dir)anropas, oavsett om ett fel uppstår eller inte.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)