1. Nauka
  2. /
  3. Kursy
  4. /
  5. Pisanie funkcji w Pythonie

Connected

ćwiczenie

Menedżer kontekstu open() tylko do odczytu

Zgromadziłeś wiele plików z danymi do swojego kolejnego projektu głębokiego uczenia – ich zebranie i oczyszczenie zajęło ci miesiące. Przypadkowe nadpisanie jednego z tych plików podczas wczytywania go do treningu byłoby katastrofą, dlatego postanawiasz stworzyć wersję menedżera kontekstu open() działającą wyłącznie w trybie odczytu.

Standardowy menedżer kontekstu open():

  • przyjmuje nazwę pliku i tryb ('r' – odczyt, 'w' – zapis, 'a' – dołączanie)
  • otwiera plik w wybranym trybie
  • przekazuje sterowanie do bloku kontekstu wraz z referencją do pliku
  • czeka na zakończenie bloku kontekstu
  • a następnie zamyka plik przed wyjściem

Twój menedżer kontekstu będzie działał tak samo, z tą różnicą, że przyjmie wyłącznie nazwę pliku jako argument i otworzy plik tylko do odczytu.

Instrukcje

100 XP
  • Przekaż sterowanie z open_read_only() do bloku kontekstu, zapewniając, że obiekt read_only_file zostanie przypisany do my_file.
  • Użyj metody .close() obiektu read_only_file, aby nie pozostawiać otwartych plików po zakończeniu pracy.