1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Writing Functions in Python

Connected

Cvičení

Context manager pro otevírání souborů jen pro čtení

Máš spoustu datových souborů pro svůj příští deep learning projekt, jejichž sběr a čištění ti zabraly měsíce. Bylo by katastrofální nechtěně přepsat jeden z těchto souborů při načítání pro trénování modelu – proto se rozhodneš vytvořit verzi context manageru open() jen pro čtení, kterou budeš v projektu používat.

Standardní context manager open():

  • přijme název souboru a režim ('r' pro čtení, 'w' pro zápis nebo 'a' pro přidávání)
  • otevře soubor pro čtení, zápis nebo přidávání
  • předá řízení zpět do kontextu spolu s referencí na soubor
  • počká, až kontext skončí
  • a pak soubor před ukončením zavře

Tvůj context manager bude fungovat stejně, až na to, že bude jako argument přijímat pouze název souboru a soubor otevře výhradně pro čtení.

Pokyny

100 XP
  • Předej řízení z open_read_only() do bloku kontextu tak, aby byl objekt read_only_file přiřazen do my_file.
  • Pomocí metody .close() objektu read_only_file zajisti, aby po sobě nezůstávaly otevřené soubory.