API Reference¶
importlib_resources
module¶
Read resources contained within a package.
This codebase is shared between importlib.resources in the stdlib and importlib_resources in PyPI. See https://github.com/python/importlib_metadata/wiki/Development-Methodology for more detail.
- class importlib_resources.ResourceReader¶
Bases:
object
Abstract base class for loaders to provide resource reading support.
- abstract is_resource(path: str) bool ¶
Return True if the named ‘path’ is a resource.
Files are resources, directories are not.
- importlib_resources.as_file(path)¶
- importlib_resources.as_file(path: Path)
Given a Traversable object, return that object as a path on the local file system in a context manager.
- importlib_resources.contents(anchor, *path_names)¶
Return an iterable over the named resources within the package.
The iterable returns
str
resources (e.g. files). The iterable does not recurse into subdirectories.
- importlib_resources.files(anchor: ModuleType | str | None = None) Traversable ¶
Get a Traversable resource for an anchor.
- importlib_resources.is_resource(anchor, *path_names)¶
Return
True
if there is a resource named name in the package,Otherwise returns
False
.
- importlib_resources.open_binary(anchor, *path_names)¶
Open for binary reading the resource within package.
- importlib_resources.open_text(anchor, *path_names, encoding=_MISSING, errors='strict')¶
Open for text reading the resource within package.
- importlib_resources.path(anchor, *path_names)¶
Return the path to the resource as an actual file system path.
- importlib_resources.read_binary(anchor, *path_names)¶
Read and return contents of resource within package as bytes.
- importlib_resources.read_text(anchor, *path_names, encoding=_MISSING, errors='strict')¶
Read and return contents of resource within package as str.
- class importlib_resources.abc.ResourceReader¶
Bases:
object
Abstract base class for loaders to provide resource reading support.
- abstract is_resource(path: str) bool ¶
Return True if the named ‘path’ is a resource.
Files are resources, directories are not.
- class importlib_resources.abc.Traversable(*args, **kwargs)¶
Bases:
Protocol
An object with a subset of pathlib.Path methods suitable for traversing directories and opening files.
Any exceptions that occur when accessing the backing resource may propagate unaltered.
- abstract iterdir() Iterator[Traversable] ¶
Yield Traversable objects in self
- joinpath(*descendants: str | PathLike[str]) Traversable ¶
Return Traversable resolved with any descendants applied.
Each descendant should be a path segment relative to self and each may contain multiple levels separated by
posixpath.sep
(/
).
- abstract open(mode='r', *args, **kwargs)¶
mode may be ‘r’ or ‘rb’ to open as text or binary. Return a handle suitable for reading (same as pathlib.Path.open).
When opening as text, accepts encoding parameters such as those accepted by io.TextIOWrapper.
- class importlib_resources.abc.TraversableResources¶
Bases:
ResourceReader
The required interface for providing traversable resources.
- abstract files() Traversable ¶
Return a Traversable object for the loaded package.
- is_resource(path: str | PathLike[str]) bool ¶
Return True if the named ‘path’ is a resource.
Files are resources, directories are not.
- class importlib_resources.readers.FileReader(loader)¶
Bases:
TraversableResources
- files()¶
Return a Traversable object for the loaded package.
- resource_path(resource)¶
Return the file system path to prevent resources.path() from creating a temporary copy.
- class importlib_resources.readers.MultiplexedPath(*paths)¶
Bases:
Traversable
Given a series of Traversable objects, implement a merged version of the interface across all objects. Useful for namespace packages which may be multihomed at a single name.
- is_dir()¶
Return True if self is a directory
- is_file()¶
Return True if self is a file
- iterdir()¶
Yield Traversable objects in self
- joinpath(*descendants)¶
Return Traversable resolved with any descendants applied.
Each descendant should be a path segment relative to self and each may contain multiple levels separated by
posixpath.sep
(/
).
- property name¶
The base name of this object without any parent references.
- open(*args, **kwargs)¶
mode may be ‘r’ or ‘rb’ to open as text or binary. Return a handle suitable for reading (same as pathlib.Path.open).
When opening as text, accepts encoding parameters such as those accepted by io.TextIOWrapper.
- read_bytes()¶
Read contents of self as bytes
- read_text(*args, **kwargs)¶
Read contents of self as text
- class importlib_resources.readers.NamespaceReader(namespace_path)¶
Bases:
TraversableResources
- files()¶
Return a Traversable object for the loaded package.
- resource_path(resource)¶
Return the file system path to prevent resources.path() from creating a temporary copy.
- class importlib_resources.readers.ZipReader(loader, module)¶
Bases:
TraversableResources
- files()¶
Return a Traversable object for the loaded package.
- is_resource(path)¶
Workaround for zipfile.Path.is_file returning true for non-existent paths.
- open_resource(resource)¶
Return an opened, file-like object for binary reading.
The ‘resource’ argument is expected to represent only a file name. If the resource cannot be found, FileNotFoundError is raised.
- importlib_resources.readers.remove_duplicates(items)¶
Interface adapters for low-level readers.
- class importlib_resources.simple.ResourceContainer(reader: SimpleReader)¶
Bases:
Traversable
Traversable container for a package’s resources via its reader.
- is_dir()¶
Return True if self is a directory
- is_file()¶
Return True if self is a file
- iterdir()¶
Yield Traversable objects in self
- open(*args, **kwargs)¶
mode may be ‘r’ or ‘rb’ to open as text or binary. Return a handle suitable for reading (same as pathlib.Path.open).
When opening as text, accepts encoding parameters such as those accepted by io.TextIOWrapper.
- class importlib_resources.simple.ResourceHandle(parent: ResourceContainer, name: str)¶
Bases:
Traversable
Handle to a named resource in a ResourceReader.
- is_dir()¶
Return True if self is a directory
- is_file()¶
Return True if self is a file
- joinpath(name)¶
Return Traversable resolved with any descendants applied.
Each descendant should be a path segment relative to self and each may contain multiple levels separated by
posixpath.sep
(/
).
- open(mode='r', *args, **kwargs)¶
mode may be ‘r’ or ‘rb’ to open as text or binary. Return a handle suitable for reading (same as pathlib.Path.open).
When opening as text, accepts encoding parameters such as those accepted by io.TextIOWrapper.
- class importlib_resources.simple.SimpleReader¶
Bases:
ABC
The minimum, low-level interface required from a resource provider.
- abstract children() List[SimpleReader] ¶
Obtain an iterable of SimpleReader for available child containers (e.g. directories).
- property name¶
- class importlib_resources.simple.TraversableReader¶
Bases:
TraversableResources
,SimpleReader
A TraversableResources based on SimpleReader. Resource providers may derive from this class to provide the TraversableResources interface by supplying the SimpleReader interface.
- files()¶
Return a Traversable object for the loaded package.