forked from AFPy/python-docs-fr
460 lines
16 KiB
Plaintext
460 lines
16 KiB
Plaintext
# Copyright (C) 2001-2018, Python Software Foundation
|
|
# For licence information, see README file.
|
|
#
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: Python 3.6\n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2018-12-21 09:48+0100\n"
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
|
"Language: fr\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
|
|
#: ../Doc/library/imp.rst:2
|
|
msgid ":mod:`imp` --- Access the :ref:`import <importsystem>` internals"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:8
|
|
msgid "**Source code:** :source:`Lib/imp.py`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:10
|
|
msgid ""
|
|
"The :mod:`imp` package is pending deprecation in favor of :mod:`importlib`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:17
|
|
msgid ""
|
|
"This module provides an interface to the mechanisms used to implement the :"
|
|
"keyword:`import` statement. It defines the following constants and "
|
|
"functions:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:25
|
|
msgid ""
|
|
"Return the magic string value used to recognize byte-compiled code files (:"
|
|
"file:`.pyc` files). (This value may be different for each Python version.)"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:28
|
|
msgid "Use :attr:`importlib.util.MAGIC_NUMBER` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:34
|
|
msgid ""
|
|
"Return a list of 3-element tuples, each describing a particular type of "
|
|
"module. Each triple has the form ``(suffix, mode, type)``, where *suffix* is "
|
|
"a string to be appended to the module name to form the filename to search "
|
|
"for, *mode* is the mode string to pass to the built-in :func:`open` function "
|
|
"to open the file (this can be ``'r'`` for text files or ``'rb'`` for binary "
|
|
"files), and *type* is the file type, which has one of the values :const:"
|
|
"`PY_SOURCE`, :const:`PY_COMPILED`, or :const:`C_EXTENSION`, described below."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:43
|
|
msgid "Use the constants defined on :mod:`importlib.machinery` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:49
|
|
msgid ""
|
|
"Try to find the module *name*. If *path* is omitted or ``None``, the list "
|
|
"of directory names given by ``sys.path`` is searched, but first a few "
|
|
"special places are searched: the function tries to find a built-in module "
|
|
"with the given name (:const:`C_BUILTIN`), then a frozen module (:const:"
|
|
"`PY_FROZEN`), and on some systems some other places are looked in as well "
|
|
"(on Windows, it looks in the registry which may point to a specific file)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:56
|
|
msgid ""
|
|
"Otherwise, *path* must be a list of directory names; each directory is "
|
|
"searched for files with any of the suffixes returned by :func:`get_suffixes` "
|
|
"above. Invalid names in the list are silently ignored (but all list items "
|
|
"must be strings)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:61
|
|
msgid ""
|
|
"If search is successful, the return value is a 3-element tuple ``(file, "
|
|
"pathname, description)``:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:64
|
|
msgid ""
|
|
"*file* is an open :term:`file object` positioned at the beginning, "
|
|
"*pathname* is the pathname of the file found, and *description* is a 3-"
|
|
"element tuple as contained in the list returned by :func:`get_suffixes` "
|
|
"describing the kind of module found."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:69
|
|
msgid ""
|
|
"If the module does not live in a file, the returned *file* is ``None``, "
|
|
"*pathname* is the empty string, and the *description* tuple contains empty "
|
|
"strings for its suffix and mode; the module type is indicated as given in "
|
|
"parentheses above. If the search is unsuccessful, :exc:`ImportError` is "
|
|
"raised. Other exceptions indicate problems with the arguments or "
|
|
"environment."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:76
|
|
msgid ""
|
|
"If the module is a package, *file* is ``None``, *pathname* is the package "
|
|
"path and the last item in the *description* tuple is :const:`PKG_DIRECTORY`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:79
|
|
msgid ""
|
|
"This function does not handle hierarchical module names (names containing "
|
|
"dots). In order to find *P.M*, that is, submodule *M* of package *P*, use :"
|
|
"func:`find_module` and :func:`load_module` to find and load package *P*, and "
|
|
"then use :func:`find_module` with the *path* argument set to ``P.__path__``. "
|
|
"When *P* itself has a dotted name, apply this recipe recursively."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:85
|
|
msgid ""
|
|
"Use :func:`importlib.util.find_spec` instead unless Python 3.3 compatibility "
|
|
"is required, in which case use :func:`importlib.find_loader`. For example "
|
|
"usage of the former case, see the :ref:`importlib-examples` section of the :"
|
|
"mod:`importlib` documentation."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:95
|
|
msgid ""
|
|
"Load a module that was previously found by :func:`find_module` (or by an "
|
|
"otherwise conducted search yielding compatible results). This function does "
|
|
"more than importing the module: if the module was already imported, it will "
|
|
"reload the module! The *name* argument indicates the full module name "
|
|
"(including the package name, if this is a submodule of a package). The "
|
|
"*file* argument is an open file, and *pathname* is the corresponding file "
|
|
"name; these can be ``None`` and ``''``, respectively, when the module is a "
|
|
"package or not being loaded from a file. The *description* argument is a "
|
|
"tuple, as would be returned by :func:`get_suffixes`, describing what kind of "
|
|
"module must be loaded."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:106
|
|
msgid ""
|
|
"If the load is successful, the return value is the module object; otherwise, "
|
|
"an exception (usually :exc:`ImportError`) is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:109
|
|
msgid ""
|
|
"**Important:** the caller is responsible for closing the *file* argument, if "
|
|
"it was not ``None``, even when an exception is raised. This is best done "
|
|
"using a :keyword:`try` ... :keyword:`finally` statement."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:113
|
|
msgid ""
|
|
"If previously used in conjunction with :func:`imp.find_module` then consider "
|
|
"using :func:`importlib.import_module`, otherwise use the loader returned by "
|
|
"the replacement you chose for :func:`imp.find_module`. If you called :func:"
|
|
"`imp.load_module` and related functions directly with file path arguments "
|
|
"then use a combination of :func:`importlib.util.spec_from_file_location` "
|
|
"and :func:`importlib.util.module_from_spec`. See the :ref:`importlib-"
|
|
"examples` section of the :mod:`importlib` documentation for details of the "
|
|
"various approaches."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:127
|
|
msgid ""
|
|
"Return a new empty module object called *name*. This object is *not* "
|
|
"inserted in ``sys.modules``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:130
|
|
msgid "Use :func:`importlib.util.module_from_spec` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:136
|
|
msgid ""
|
|
"Reload a previously imported *module*. The argument must be a module "
|
|
"object, so it must have been successfully imported before. This is useful "
|
|
"if you have edited the module source file using an external editor and want "
|
|
"to try out the new version without leaving the Python interpreter. The "
|
|
"return value is the module object (the same as the *module* argument)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:142
|
|
msgid "When ``reload(module)`` is executed:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:144
|
|
msgid ""
|
|
"Python modules' code is recompiled and the module-level code reexecuted, "
|
|
"defining a new set of objects which are bound to names in the module's "
|
|
"dictionary. The ``init`` function of extension modules is not called a "
|
|
"second time."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:149
|
|
msgid ""
|
|
"As with all other objects in Python the old objects are only reclaimed after "
|
|
"their reference counts drop to zero."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:152
|
|
msgid ""
|
|
"The names in the module namespace are updated to point to any new or changed "
|
|
"objects."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:155
|
|
msgid ""
|
|
"Other references to the old objects (such as names external to the module) "
|
|
"are not rebound to refer to the new objects and must be updated in each "
|
|
"namespace where they occur if that is desired."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:159
|
|
msgid "There are a number of other caveats:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:161
|
|
msgid ""
|
|
"When a module is reloaded, its dictionary (containing the module's global "
|
|
"variables) is retained. Redefinitions of names will override the old "
|
|
"definitions, so this is generally not a problem. If the new version of a "
|
|
"module does not define a name that was defined by the old version, the old "
|
|
"definition remains. This feature can be used to the module's advantage if "
|
|
"it maintains a global table or cache of objects --- with a :keyword:`try` "
|
|
"statement it can test for the table's presence and skip its initialization "
|
|
"if desired::"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:174
|
|
msgid ""
|
|
"It is legal though generally not very useful to reload built-in or "
|
|
"dynamically loaded modules, except for :mod:`sys`, :mod:`__main__` and :mod:"
|
|
"`builtins`. In many cases, however, extension modules are not designed to be "
|
|
"initialized more than once, and may fail in arbitrary ways when reloaded."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:179
|
|
msgid ""
|
|
"If a module imports objects from another module using :keyword:`from` ... :"
|
|
"keyword:`import` ..., calling :func:`reload` for the other module does not "
|
|
"redefine the objects imported from it --- one way around this is to re-"
|
|
"execute the :keyword:`!from` statement, another is to use :keyword:`!import` "
|
|
"and qualified names (*module*.*name*) instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:185
|
|
msgid ""
|
|
"If a module instantiates instances of a class, reloading the module that "
|
|
"defines the class does not affect the method definitions of the instances "
|
|
"--- they continue to use the old class definition. The same is true for "
|
|
"derived classes."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:189
|
|
msgid ""
|
|
"Relies on both ``__name__`` and ``__loader__`` being defined on the module "
|
|
"being reloaded instead of just ``__name__``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:193
|
|
msgid "Use :func:`importlib.reload` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:197
|
|
msgid ""
|
|
"The following functions are conveniences for handling :pep:`3147` byte-"
|
|
"compiled file paths."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:204
|
|
msgid ""
|
|
"Return the :pep:`3147` path to the byte-compiled file associated with the "
|
|
"source *path*. For example, if *path* is ``/foo/bar/baz.py`` the return "
|
|
"value would be ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python 3.2. "
|
|
"The ``cpython-32`` string comes from the current magic tag (see :func:"
|
|
"`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined then :exc:"
|
|
"`NotImplementedError` will be raised). By passing in ``True`` or ``False`` "
|
|
"for *debug_override* you can override the system's value for ``__debug__``, "
|
|
"leading to optimized bytecode."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:213
|
|
msgid "*path* need not exist."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:215
|
|
msgid ""
|
|
"If :attr:`sys.implementation.cache_tag` is ``None``, then :exc:"
|
|
"`NotImplementedError` is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:219
|
|
msgid "Use :func:`importlib.util.cache_from_source` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:222
|
|
msgid "The *debug_override* parameter no longer creates a ``.pyo`` file."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:228
|
|
msgid ""
|
|
"Given the *path* to a :pep:`3147` file name, return the associated source "
|
|
"code file path. For example, if *path* is ``/foo/bar/__pycache__/baz."
|
|
"cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* "
|
|
"need not exist, however if it does not conform to :pep:`3147` format, a :exc:"
|
|
"`ValueError` is raised. If :attr:`sys.implementation.cache_tag` is not "
|
|
"defined, :exc:`NotImplementedError` is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:236
|
|
msgid ""
|
|
"Raise :exc:`NotImplementedError` when :attr:`sys.implementation.cache_tag` "
|
|
"is not defined."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:240
|
|
msgid "Use :func:`importlib.util.source_from_cache` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:246
|
|
msgid ""
|
|
"Return the :pep:`3147` magic tag string matching this version of Python's "
|
|
"magic number, as returned by :func:`get_magic`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:249
|
|
msgid ""
|
|
"Use :attr:`sys.implementation.cache_tag` directly starting in Python 3.3."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:254
|
|
msgid ""
|
|
"The following functions help interact with the import system's internal "
|
|
"locking mechanism. Locking semantics of imports are an implementation "
|
|
"detail which may vary from release to release. However, Python ensures that "
|
|
"circular imports work without any deadlocks."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:262
|
|
msgid ""
|
|
"Return ``True`` if the global import lock is currently held, else ``False``. "
|
|
"On platforms without threads, always return ``False``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:265
|
|
msgid ""
|
|
"On platforms with threads, a thread executing an import first holds a global "
|
|
"import lock, then sets up a per-module lock for the rest of the import. "
|
|
"This blocks other threads from importing the same module until the original "
|
|
"import completes, preventing other threads from seeing incomplete module "
|
|
"objects constructed by the original thread. An exception is made for "
|
|
"circular imports, which by construction have to expose an incomplete module "
|
|
"object at some point."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:273 ../Doc/library/imp.rst:293
|
|
#: ../Doc/library/imp.rst:306
|
|
msgid ""
|
|
"The locking scheme has changed to per-module locks for the most part. A "
|
|
"global import lock is kept for some critical tasks, such as initializing the "
|
|
"per-module locks."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:283
|
|
msgid ""
|
|
"Acquire the interpreter's global import lock for the current thread. This "
|
|
"lock should be used by import hooks to ensure thread-safety when importing "
|
|
"modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:287
|
|
msgid ""
|
|
"Once a thread has acquired the import lock, the same thread may acquire it "
|
|
"again without blocking; the thread must release it once for each time it has "
|
|
"acquired it."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:291
|
|
msgid "On platforms without threads, this function does nothing."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:303
|
|
msgid ""
|
|
"Release the interpreter's global import lock. On platforms without threads, "
|
|
"this function does nothing."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:314
|
|
msgid ""
|
|
"The following constants with integer values, defined in this module, are "
|
|
"used to indicate the search result of :func:`find_module`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:320
|
|
msgid "The module was found as a source file."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:327
|
|
msgid "The module was found as a compiled code object file."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:334
|
|
msgid "The module was found as dynamically loadable shared library."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:341
|
|
msgid "The module was found as a package directory."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:348
|
|
msgid "The module was found as a built-in module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:355
|
|
msgid "The module was found as a frozen module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:362
|
|
msgid ""
|
|
"The :class:`NullImporter` type is a :pep:`302` import hook that handles non-"
|
|
"directory path strings by failing to find any modules. Calling this type "
|
|
"with an existing directory or empty string raises :exc:`ImportError`. "
|
|
"Otherwise, a :class:`NullImporter` instance is returned."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:367
|
|
msgid "Instances have only one method:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:371
|
|
msgid ""
|
|
"This method always returns ``None``, indicating that the requested module "
|
|
"could not be found."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:374
|
|
msgid ""
|
|
"``None`` is inserted into ``sys.path_importer_cache`` instead of an instance "
|
|
"of :class:`NullImporter`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:378
|
|
msgid "Insert ``None`` into ``sys.path_importer_cache`` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/imp.rst:385
|
|
msgid "Examples"
|
|
msgstr "Exemples"
|
|
|
|
#: ../Doc/library/imp.rst:387
|
|
msgid ""
|
|
"The following function emulates what was the standard import statement up to "
|
|
"Python 1.4 (no hierarchical module names). (This *implementation* wouldn't "
|
|
"work in that version, since :func:`find_module` has been extended and :func:"
|
|
"`load_module` has been added in 1.4.) ::"
|
|
msgstr ""
|