<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 導航 - [索引](../genindex.xhtml "總目錄") - [模塊](../py-modindex.xhtml "Python 模塊索引") | - [下一頁](modulefinder.xhtml "modulefinder --- 查找腳本使用的模塊") | - [上一頁](zipimport.xhtml "zipimport --- Import modules from Zip archives") | - ![](https://box.kancloud.cn/a721fc7ec672275e257bbbfde49a4d4e_16x16.png) - [Python](https://www.python.org/) ? - zh\_CN 3.7.3 [文檔](../index.xhtml) ? - [Python 標準庫](index.xhtml) ? - [導入模塊](modules.xhtml) ? - $('.inline-search').show(0); | # [`pkgutil`](#module-pkgutil "pkgutil: Utilities for the import system.") --- Package extension utility **Source code:** [Lib/pkgutil.py](https://github.com/python/cpython/tree/3.7/Lib/pkgutil.py) \[https://github.com/python/cpython/tree/3.7/Lib/pkgutil.py\] - - - - - - This module provides utilities for the import system, in particular package support. *class* `pkgutil.``ModuleInfo`(*module\_finder*, *name*, *ispkg*)A namedtuple that holds a brief summary of a module's info. 3\.6 新版功能. `pkgutil.``extend_path`(*path*, *name*)Extend the search path for the modules which comprise a package. Intended use is to place the following code in a package's `__init__.py`: ``` from pkgutil import extend_path __path__ = extend_path(__path__, __name__) ``` This will add to the package's `__path__` all subdirectories of directories on `sys.path` named after the package. This is useful if one wants to distribute different parts of a single logical package as multiple directories. It also looks for `*.pkg` files beginning where `*` matches the *name* argument. This feature is similar to `*.pth` files (see the [`site`](site.xhtml#module-site "site: Module responsible for site-specific configuration.") module for more information), except that it doesn't special-case lines starting with `import`. A `*.pkg` file is trusted at face value: apart from checking for duplicates, all entries found in a `*.pkg` file are added to the path, regardless of whether they exist on the filesystem. (This is a feature.) If the input path is not a list (as is the case for frozen packages) it is returned unchanged. The input path is not modified; an extended copy is returned. Items are only appended to the copy at the end. It is assumed that [`sys.path`](sys.xhtml#sys.path "sys.path") is a sequence. Items of [`sys.path`](sys.xhtml#sys.path "sys.path")that are not strings referring to existing directories are ignored. Unicode items on [`sys.path`](sys.xhtml#sys.path "sys.path") that cause errors when used as filenames may cause this function to raise an exception (in line with [`os.path.isdir()`](os.path.xhtml#os.path.isdir "os.path.isdir")behavior). *class* `pkgutil.``ImpImporter`(*dirname=None*)[**PEP 302**](https://www.python.org/dev/peps/pep-0302) \[https://www.python.org/dev/peps/pep-0302\] Finder that wraps Python's "classic" import algorithm. If *dirname* is a string, a [**PEP 302**](https://www.python.org/dev/peps/pep-0302) \[https://www.python.org/dev/peps/pep-0302\] finder is created that searches that directory. If *dirname* is `None`, a [**PEP 302**](https://www.python.org/dev/peps/pep-0302) \[https://www.python.org/dev/peps/pep-0302\] finder is created that searches the current [`sys.path`](sys.xhtml#sys.path "sys.path"), plus any modules that are frozen or built-in. Note that [`ImpImporter`](#pkgutil.ImpImporter "pkgutil.ImpImporter") does not currently support being used by placement on [`sys.meta_path`](sys.xhtml#sys.meta_path "sys.meta_path"). 3\.3 版后已移除: This emulation is no longer needed, as the standard import mechanism is now fully PEP 302 compliant and available in [`importlib`](importlib.xhtml#module-importlib "importlib: The implementation of the import machinery."). *class* `pkgutil.``ImpLoader`(*fullname*, *file*, *filename*, *etc*)[Loader](../glossary.xhtml#term-loader) that wraps Python's "classic" import algorithm. 3\.3 版后已移除: This emulation is no longer needed, as the standard import mechanism is now fully PEP 302 compliant and available in [`importlib`](importlib.xhtml#module-importlib "importlib: The implementation of the import machinery."). `pkgutil.``find_loader`(*fullname*)Retrieve a module [loader](../glossary.xhtml#term-loader) for the given *fullname*. This is a backwards compatibility wrapper around [`importlib.util.find_spec()`](importlib.xhtml#importlib.util.find_spec "importlib.util.find_spec") that converts most failures to [`ImportError`](exceptions.xhtml#ImportError "ImportError") and only returns the loader rather than the full `ModuleSpec`. 在 3.3 版更改: Updated to be based directly on [`importlib`](importlib.xhtml#module-importlib "importlib: The implementation of the import machinery.") rather than relying on the package internal PEP 302 import emulation. 在 3.4 版更改: Updated to be based on [**PEP 451**](https://www.python.org/dev/peps/pep-0451) \[https://www.python.org/dev/peps/pep-0451\] `pkgutil.``get_importer`(*path\_item*)Retrieve a [finder](../glossary.xhtml#term-finder) for the given *path\_item*. The returned finder is cached in [`sys.path_importer_cache`](sys.xhtml#sys.path_importer_cache "sys.path_importer_cache") if it was newly created by a path hook. The cache (or part of it) can be cleared manually if a rescan of [`sys.path_hooks`](sys.xhtml#sys.path_hooks "sys.path_hooks") is necessary. 在 3.3 版更改: Updated to be based directly on [`importlib`](importlib.xhtml#module-importlib "importlib: The implementation of the import machinery.") rather than relying on the package internal PEP 302 import emulation. `pkgutil.``get_loader`(*module\_or\_name*)Get a [loader](../glossary.xhtml#term-loader) object for *module\_or\_name*. If the module or package is accessible via the normal import mechanism, a wrapper around the relevant part of that machinery is returned. Returns `None` if the module cannot be found or imported. If the named module is not already imported, its containing package (if any) is imported, in order to establish the package `__path__`. 在 3.3 版更改: Updated to be based directly on [`importlib`](importlib.xhtml#module-importlib "importlib: The implementation of the import machinery.") rather than relying on the package internal PEP 302 import emulation. 在 3.4 版更改: Updated to be based on [**PEP 451**](https://www.python.org/dev/peps/pep-0451) \[https://www.python.org/dev/peps/pep-0451\] `pkgutil.``iter_importers`(*fullname=''*)Yield [finder](../glossary.xhtml#term-finder) objects for the given module name. If fullname contains a '.', the finders will be for the package containing fullname, otherwise they will be all registered top level finders (i.e. those on both sys.meta\_path and sys.path\_hooks). If the named module is in a package, that package is imported as a side effect of invoking this function. If no module name is specified, all top level finders are produced. 在 3.3 版更改: Updated to be based directly on [`importlib`](importlib.xhtml#module-importlib "importlib: The implementation of the import machinery.") rather than relying on the package internal PEP 302 import emulation. `pkgutil.``iter_modules`(*path=None*, *prefix=''*)Yields [`ModuleInfo`](#pkgutil.ModuleInfo "pkgutil.ModuleInfo") for all submodules on *path*, or, if *path* is `None`, all top-level modules on `sys.path`. *path* should be either `None` or a list of paths to look for modules in. *prefix* is a string to output on the front of every module name on output. 注解 Only works for a [finder](../glossary.xhtml#term-finder) which defines an `iter_modules()`method. This interface is non-standard, so the module also provides implementations for [`importlib.machinery.FileFinder`](importlib.xhtml#importlib.machinery.FileFinder "importlib.machinery.FileFinder") and [`zipimport.zipimporter`](zipimport.xhtml#zipimport.zipimporter "zipimport.zipimporter"). 在 3.3 版更改: Updated to be based directly on [`importlib`](importlib.xhtml#module-importlib "importlib: The implementation of the import machinery.") rather than relying on the package internal PEP 302 import emulation. `pkgutil.``walk_packages`(*path=None*, *prefix=''*, *onerror=None*)Yields [`ModuleInfo`](#pkgutil.ModuleInfo "pkgutil.ModuleInfo") for all modules recursively on *path*, or, if *path* is `None`, all accessible modules. *path* should be either `None` or a list of paths to look for modules in. *prefix* is a string to output on the front of every module name on output. Note that this function must import all *packages* (*not* all modules!) on the given *path*, in order to access the `__path__` attribute to find submodules. *onerror* is a function which gets called with one argument (the name of the package which was being imported) if any exception occurs while trying to import a package. If no *onerror* function is supplied, [`ImportError`](exceptions.xhtml#ImportError "ImportError")s are caught and ignored, while all other exceptions are propagated, terminating the search. 例如: ``` # list all modules python can access walk_packages() # list all submodules of ctypes walk_packages(ctypes.__path__, ctypes.__name__ + '.') ``` 注解 Only works for a [finder](../glossary.xhtml#term-finder) which defines an `iter_modules()`method. This interface is non-standard, so the module also provides implementations for [`importlib.machinery.FileFinder`](importlib.xhtml#importlib.machinery.FileFinder "importlib.machinery.FileFinder") and [`zipimport.zipimporter`](zipimport.xhtml#zipimport.zipimporter "zipimport.zipimporter"). 在 3.3 版更改: Updated to be based directly on [`importlib`](importlib.xhtml#module-importlib "importlib: The implementation of the import machinery.") rather than relying on the package internal PEP 302 import emulation. `pkgutil.``get_data`(*package*, *resource*)Get a resource from a package. This is a wrapper for the [loader](../glossary.xhtml#term-loader)[`get_data`](importlib.xhtml#importlib.abc.ResourceLoader.get_data "importlib.abc.ResourceLoader.get_data") API. The *package* argument should be the name of a package, in standard module format (`foo.bar`). The *resource* argument should be in the form of a relative filename, using `/` as the path separator. The parent directory name `..` is not allowed, and nor is a rooted name (starting with a `/`). The function returns a binary string that is the contents of the specified resource. For packages located in the filesystem, which have already been imported, this is the rough equivalent of: ``` d = os.path.dirname(sys.modules[package].__file__) data = open(os.path.join(d, resource), 'rb').read() ``` If the package cannot be located or loaded, or it uses a [loader](../glossary.xhtml#term-loader)which does not support [`get_data`](importlib.xhtml#importlib.abc.ResourceLoader.get_data "importlib.abc.ResourceLoader.get_data"), then `None` is returned. In particular, the [loader](../glossary.xhtml#term-loader) for [namespace packages](../glossary.xhtml#term-namespace-package) does not support [`get_data`](importlib.xhtml#importlib.abc.ResourceLoader.get_data "importlib.abc.ResourceLoader.get_data"). ### 導航 - [索引](../genindex.xhtml "總目錄") - [模塊](../py-modindex.xhtml "Python 模塊索引") | - [下一頁](modulefinder.xhtml "modulefinder --- 查找腳本使用的模塊") | - [上一頁](zipimport.xhtml "zipimport --- Import modules from Zip archives") | - ![](https://box.kancloud.cn/a721fc7ec672275e257bbbfde49a4d4e_16x16.png) - [Python](https://www.python.org/) ? - zh\_CN 3.7.3 [文檔](../index.xhtml) ? - [Python 標準庫](index.xhtml) ? - [導入模塊](modules.xhtml) ? - $('.inline-search').show(0); | ? [版權所有](../copyright.xhtml) 2001-2019, Python Software Foundation. Python 軟件基金會是一個非盈利組織。 [請捐助。](https://www.python.org/psf/donations/) 最后更新于 5月 21, 2019. [發現了問題](../bugs.xhtml)? 使用[Sphinx](http://sphinx.pocoo.org/)1.8.4 創建。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看