BaşlayınÜcretsiz Başlayın

Salt-okunur open() bağlam yöneticisi

Aylarca toplayıp temizlediğin bir sürü veri dosyan var ve bunları bir sonraki deep learning projen için kullanacaksın. Eğitime almak için okurken yanlışlıkla bu dosyalardan birinin üzerine yazman korkunç olurdu. Bu yüzden projende kullanmak üzere open() bağlam yöneticisinin salt-okunur bir sürümünü oluşturmaya karar verdin.

Normal open() bağlam yöneticisi:

  • bir dosya adı ve kip (okuma için 'r', yazma için 'w', ekleme için 'a') alır
  • dosyayı okuma, yazma veya ekleme için açar
  • bağlama, dosyaya bir başvuruyla birlikte denetimi geri verir
  • bağlamın bitmesini bekler
  • ve çıkmadan önce dosyayı kapatır

Senin bağlam yöneticin de aynı şeyi yapacak; tek fark, yalnızca argüman olarak dosya adını alacak ve dosyayı sadece okumak için açacak olmasıdır.

Bu egzersiz

Python'da Fonksiyon Yazımı

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • open_read_only() içinden denetimi bağlam bloğuna ver ve read_only_file nesnesinin my_file'a atanmasını sağla.
  • Açık dosyalar kalmaması için read_only_file'ın .close() yöntemini kullan.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

@contextlib.contextmanager
def open_read_only(filename):
  """Open a file in read-only mode.

  Args:
    filename (str): The location of the file to read

  Yields:
    file object
  """
  read_only_file = open(filename, mode='r')
  # Yield read_only_file so it can be assigned to my_file
  ____ ____
  # Close read_only_file
  ____.____()

with open_read_only('my_file.txt') as my_file:
  print(my_file.read())
Kodu Düzenle ve Çalıştır