python importlib_importlib --- import 的实现 — Python 3.10.0a2 文档
3.7 新版功能.
這個模塊使得Python的導入系統提供了訪問*包*內的*資源*的功能。如果能夠導入一個包,那么就能夠訪問那個包里面的資源。資源可以以二進制或文本模式方式被打開或讀取。
資源非常類似于目錄內部的文件,要牢記的是這僅僅是一個比喻。資源和包不是與文件系統上的物理文件和目錄一樣存在著。
注解
This module provides functionality similar to pkg_resources Basic
Resource Access
without the performance overhead of that package. This makes reading
resources included in packages easier, with more stable and consistent
semantics.
加載器想要支持資源讀取應該實現一個由 importlib.abc.ResourceReader 指定的``get_resource_reader(fullname)`` 方法。
The following types are defined.
importlib.resources.Package?
The Package type is defined as Union[str, ModuleType]. This means
that where the function describes accepting a Package, you can pass in
either a string or a module. Module objects must have a resolvable
__spec__.submodule_search_locations that is not None.
importlib.resources.Resource?
This type describes the resource names passed into the various functions
in this package. This is defined as Union[str, os.PathLike].
The following functions are available.
importlib.resources.files(package)?
Returns an importlib.resources.abc.Traversable object
representing the resource container for the package (think directory)
and its resources (think files). A Traversable may contain other
containers (think subdirectories).
package is either a name or a module object which conforms to the
Package requirements.
3.9 新版功能.
importlib.resources.open_binary(package, resource)?
Open for binary reading the resource within package.
package is either a name or a module object which conforms to the
Package requirements. resource is the name of the resource to open
within package; it may not contain path separators and it may not have
sub-resources (i.e. it cannot be a directory). This function returns a
typing.BinaryIO instance, a binary I/O stream open for reading.
importlib.resources.open_text(package, resource, encoding='utf-8', errors='strict')?
Open for text reading the resource within package. By default, the
resource is opened for reading as UTF-8.
package is either a name or a module object which conforms to the
Package requirements. resource is the name of the resource to open
within package; it may not contain path separators and it may not have
sub-resources (i.e. it cannot be a directory). encoding and errors
have the same meaning as with built-in open().
This function returns a typing.TextIO instance, a text I/O stream open
for reading.
importlib.resources.read_binary(package, resource)?
Read and return the contents of the resource within package as
bytes.
package is either a name or a module object which conforms to the
Package requirements. resource is the name of the resource to open
within package; it may not contain path separators and it may not have
sub-resources (i.e. it cannot be a directory). This function returns the
contents of the resource as bytes.
importlib.resources.read_text(package, resource, encoding='utf-8', errors='strict')?
Read and return the contents of resource within package as a str.
By default, the contents are read as strict UTF-8.
package is either a name or a module object which conforms to the
Package requirements. resource is the name of the resource to open
within package; it may not contain path separators and it may not have
sub-resources (i.e. it cannot be a directory). encoding and errors
have the same meaning as with built-in open(). This function
returns the contents of the resource as str.
importlib.resources.path(package, resource)?
Return the path to the resource as an actual file system path. This
function returns a context manager for use in a with statement.
The context manager provides a pathlib.Path object.
Exiting the context manager cleans up any temporary file created when the
resource needs to be extracted from e.g. a zip file.
package is either a name or a module object which conforms to the
Package requirements. resource is the name of the resource to open
within package; it may not contain path separators and it may not have
sub-resources (i.e. it cannot be a directory).
importlib.resources.is_resource(package, name)?
Return True if there is a resource named name in the package,
otherwise False. Remember that directories are not resources!
package is either a name or a module object which conforms to the
Package requirements.
importlib.resources.contents(package)?
Return an iterable over the named items within the package. The iterable
returns str resources (e.g. files) and non-resources
(e.g. directories). The iterable does not recurse into subdirectories.
package is either a name or a module object which conforms to the
Package requirements.
總結
以上是生活随笔為你收集整理的python importlib_importlib --- import 的实现 — Python 3.10.0a2 文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海信e75h巡洋舰和75e5g哪个清晰度
- 下一篇: 巡洋舰多少钱啊?