"importlib.resources.abc" -- Abstract base classes for resources
****************************************************************

**Source code:** Lib/importlib/resources/abc.py

======================================================================

 Dodane w wersji 3.11.

class importlib.resources.abc.ResourceReader

   *Замінено TraversableResources*

   *abstract base class* для надання можливості читати *ресурси*.

   From the perspective of this ABC, a *resource* is a binary artifact
   that is shipped within a package. Typically this is something like
   a data file that lives next to the "__init__.py" file of the
   package. The purpose of this class is to help abstract out the
   accessing of such data files so that it does not matter if the
   package and its data file(s) are stored e.g. in a zip file versus
   on the file system.

   Для будь-якого методу цього класу очікується, що аргумент
   *resource* буде *path-like object*, який концептуально представляє
   лише ім’я файлу. Це означає, що шляхи підкаталогів не повинні
   включатися в аргумент *resource*. Це пояснюється тим, що місце
   розташування пакета, для якого призначений зчитувач, діє як
   "каталог". Тому метафорою для каталогів і імен файлів є пакети та
   ресурси відповідно. Ось чому очікується, що екземпляри цього класу
   безпосередньо співвідносяться з певним пакетом (замість того, щоб
   потенційно представляти кілька пакетів або модуль).

   Очікується, що завантажувачі, які бажають підтримувати читання
   ресурсів, нададуть метод під назвою
   "get_resource_reader(fullname)", який повертає об’єкт, що реалізує
   цей інтерфейс ABC. Якщо модуль, указаний повним іменем, не є
   пакетом, цей метод має повернути "None". Об’єкт, сумісний із цим
   ABC, слід повертати лише тоді, коли вказаний модуль є пакетом.

   Niezalecane od wersji 3.12: Use
   "importlib.resources.abc.TraversableResources" instead.

   abstractmethod open_resource(resource)

      Повертає відкритий *file-like object* для двійкового читання
      *ресурсу*.

      Якщо ресурс не знайдено, виникає "FileNotFoundError".

   abstractmethod resource_path(resource)

      Повертає шлях файлової системи до *ресурсу*.

      Якщо ресурс конкретно не існує у файловій системі, викликайте
      "FileNotFoundError".

   abstractmethod is_resource(name)

      Повертає "True", якщо назване *ім’я* вважається ресурсом.
      "FileNotFoundError" виникає, якщо *name* не існує.

   abstractmethod contents()

      Повертає *iterable* рядків над вмістом пакета. Зауважте, що не
      обов’язково, щоб усі імена, які повертає ітератор, були
      фактичними ресурсами, наприклад. прийнятно повертати імена, для
      яких "is_resource()" буде false.

      Дозволити повертати нересурсні імена, щоб дозволити ситуації,
      коли те, як пакет і його ресурси зберігаються, відомі апріорі, і
      нересурсні імена будуть корисними. Наприклад, дозволено
      повертати імена підкаталогів, щоб, якщо відомо, що пакет і
      ресурси зберігаються у файловій системі, ці імена підкаталогів
      можна було використовувати безпосередньо.

      Абстрактний метод повертає ітерацію без елементів.

class importlib.resources.abc.Traversable

   An object with a subset of "pathlib.Path" methods suitable for
   traversing directories and opening files.

   For a representation of the object on the file-system, use
   "importlib.resources.as_file()".

   name

      Abstract. The base name of this object without any parent
      references.

   abstractmethod iterdir()

      Прибуток Traversable об'єктів в себе.

   abstractmethod is_dir()

      Return "True" if self is a directory.

   abstractmethod is_file()

      Return "True" if self is a file.

   abstractmethod joinpath(*pathsegments)

      Traverse directories according to *pathsegments* and return the
      result as "Traversable".

      Each *pathsegments* argument may contain multiple names
      separated by forward slashes ("/", "posixpath.sep" ). For
      example, the following are equivalent:

         files.joinpath('subdir', 'subsuddir', 'file.txt')
         files.joinpath('subdir/subsuddir/file.txt')

      Note that some "Traversable" implementations might not be
      updated to the latest version of the protocol. For compatibility
      with such implementations, provide a single argument without
      path separators to each call to "joinpath". For example:

         files.joinpath('subdir').joinpath('subsubdir').joinpath('file.txt')

      Zmienione w wersji 3.11: "joinpath" accepts multiple
      *pathsegments*, and these segments may contain forward slashes
      as path separators. Previously, only a single *child* argument
      was accepted.

   abstractmethod __truediv__(child)

      Return Traversable child in self. Equivalent to
      "joinpath(child)".

   abstractmethod open(mode='r', *args, **kwargs)

      *mode* може бути "r" або "rb", щоб відкрити як текстовий або
      двійковий файл. Повертає дескриптор, придатний для читання (те
      саме, що "pathlib.Path.open").

      When opening as text, accepts encoding parameters such as those
      accepted by "io.TextIOWrapper".

   read_bytes()

      Читати вміст себе як байти.

   read_text(encoding=None)

      Прочитати вміст себе як текст.

class importlib.resources.abc.TraversableResources

   An abstract base class for resource readers capable of serving the
   "importlib.resources.files()" interface. Subclasses
   "ResourceReader" and provides concrete implementations of the
   "ResourceReader"'s abstract methods. Therefore, any loader
   supplying "TraversableResources" also supplies "ResourceReader".

   Loaders that wish to support resource reading are expected to
   implement this interface.

   abstractmethod files()

      Returns a "importlib.resources.abc.Traversable" object for the
      loaded package.
