next up previous contents index
Next: 3.8.1 Examples Up: 3 Python Services Previous: 3.7 Built-in Module marshal

3.8 Built-in Module imp

 

This module provides an interface to the mechanisms used to implement the import statement. It defines the following constants and functions:

get_magic()
Return the magic string value used to recognize byte-compiled code files (``.pyc files'').

get_suffixes()
Return a list of triples, each describing a particular type of file. 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 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 PY_SOURCE, PY_COMPILED or C_EXTENSION, defined below. (System-dependent values may also be returned.)

find_module(name, [path])
Try to find the module name on the search path path. The default path is sys.path. The return value is a triple (file, pathname, description) where file is an open file object positioned at the beginning, pathname is the pathname of the file found, and description is a triple as contained in the list returned by get_suffixes describing the kind of file found.

init_builtin(name)
Initialize the built-in module called name and return its module object. If the module was already initialized, it will be initialized again. A few modules cannot be initialized twice -- attempting to initialize these again will raise an ImportError exception. If there is no built-in module called name, None is returned.

init_frozen(name)
Initialize the frozen module called name and return its module object. If the module was already initialized, it will be initialized again. If there is no frozen module called name, None is returned. (Frozen modules are modules written in Python whose compiled byte-code object is incorporated into a custom-built Python interpreter by Python's freeze utility. See Tools/freeze for now.)

is_builtin(name)
Return 1 if there is a built-in module called name which can be initialized again. Return -1 if there is a built-in module called name which cannot be initialized again (see init_builtin). Return 0 if there is no built-in module called name.

is_frozen(name)
Return 1 if there is a frozen module (see init_frozen) called name, 0 if there is no such module.

load_compiled(name, pathname, file)
Load and initialize a module implemented as a byte-compiled code file and return its module object. If the module was already initialized, it will be initialized again. The name argument is used to create or access a module object. The pathname argument points to the byte-compiled code file. The file argument is the byte-compiled code file, open for reading in binary mode, from the beginning. It must currently be a real file object, not a user-defined class emulating a file.

load_dynamic(name, pathname, [file])
Load and initialize a module implemented as a dynamically loadable shared library and return its module object. If the module was already initialized, it will be initialized again. Some modules don't like that and may raise an exception. The pathname argument must point to the shared library. The name argument is used to construct the name of the initialization function: an external C function called initname() in the shared library is called. The optional file argment is ignored. (Note: using shared libraries is highly system dependent, and not all systems support it.)

load_source(name, pathname, file)
Load and initialize a module implemented as a Python source file and return its module object. If the module was already initialized, it will be initialized again. The name argument is used to create or access a module object. The pathname argument points to the source file. The file argument is the source file, open for reading as text, from the beginning. It must currently be a real file object, not a user-defined class emulating a file. Note that if a properly matching byte-compiled file (with suffix .pyc) exists, it will be used instead of parsing the given source file.

new_module(name)
Return a new empty module object called name. This object is not inserted in sys.modules.

The following constants with integer values, defined in the module, are used to indicate the search result of imp.find_module.

SEARCH_ERROR
The module was not found.

PY_SOURCE
The module was found as a source file.

PY_COMPILED
The module was found as a compiled code object file.

C_EXTENSION
The module was found as dynamically loadable shared library.




next up previous contents index
Next: 3.8.1 Examples Up: 3 Python Services Previous: 3.7 Built-in Module marshal

guido@cnri.reston.va.us