twisted.python.modules.PythonPath
class documentationtwisted.python.modules
(View In Hierarchy)
I represent the very top of the Python object-space, the module list in
sys.path
and the modules list in sys.modules
.
Instance Variable | sysPath | The current value of the module search path list. (type: list ) |
Instance Variable | moduleDict | A dictionary mapping string module names to module objects, like
sys.modules . |
Instance Variable | sysPathHooks | A list of PEP-302 path hooks, like sys.path_hooks . |
Instance Variable | moduleLoader | A function that takes a fully-qualified python name and returns a module,
like twisted.python.reflect.namedAny . |
Method | __init__ | Create a PythonPath. You almost certainly want to use modules.theSystemPath, or its aliased methods, rather than creating a new instance yourself, though. |
Method | iterEntries | Iterate the entries on my sysPath. |
Method | __getitem__ | Get a python module by its given fully-qualified name. |
Method | __contains__ | Check to see whether or not a module exists on my import path. |
Method | __repr__ | Display my sysPath and moduleDict in a string representation. |
Method | iterModules | Yield all top-level modules on my sysPath. |
Method | walkModules | Similar to iterModules ,
this yields every module on the path, then every submodule in each package
or entry. |
Instance Variable | _sysPath | A sequence of strings like sys.path . This attribute is
read-only. |
Method | _getSysPath | Retrieve the current value of the module search path list. |
Method | _findEntryPathString | Determine where a given Python module object came from by looking at path entries. |
Method | _smartPath | Given a path entry from sys.path which may refer to an importer, return the appropriate FilePath-like instance. |
twisted.python.reflect.namedAny
.
Create a PythonPath. You almost certainly want to use modules.theSystemPath, or its aliased methods, rather than creating a new instance yourself, though.
All parameters are optional, and if unspecified, will use 'system'
equivalents that makes this PythonPath like the global theSystemPath
instance.
Parameters | sysPath | a sys.path-like list to use for this PythonPath, to specify where to load modules from. |
moduleDict | a sys.modules-like dictionary to use for keeping track of what modules this PythonPath has loaded. | |
sysPathHooks | sys.path_hooks-like list of PEP-302 path hooks to be used for this PythonPath, to determie which importers should be used. | |
importerCache | a sys.path_importer_cache-like list of PEP-302 importers. This will be used in conjunction with the given sysPathHooks. | |
moduleLoader | a module loader function which takes a string and returns a module. That
is to say, it is like namedAny -
*not* like __import__ . | |
sysPathFactory | a 0-argument callable which returns the current value of a sys.path-like list of strings. Specify either this, or sysPath, not both. This alternative interface is provided because the way the Python import mechanism works, you can re-bind the 'sys.path' name and that is what is used for current imports, so it must be a factory rather than a value to deal with modification by rebinding rather than modification by mutation. Note: it is not recommended to rebind sys.path. Although this mechanism can deal with that, it is a subtle point which some tools that it is easy for tools which interact with sys.path to miss. |
Determine where a given Python module object came from by looking at path entries.
Given a path entry from sys.path which may refer to an importer, return the appropriate FilePath-like instance.
Parameters | pathName | a str describing the path. |
Returns | a FilePath-like object. |
Iterate the entries on my sysPath.
Returns | a generator yielding PathEntry objects |
Get a python module by its given fully-qualified name.
Parameters | modname | The fully-qualified Python module name to load. (type: str ) |
Returns | an object representing the module identified by modname (type: PythonModule ) | |
Raises | KeyError | if the module name is not a valid module name, or no such module can be identified as loadable. |
Check to see whether or not a module exists on my import path.
Parameters | module | The name of the module to look for on my import path. (type: str ) |
Similar to iterModules
,
this yields every module on the path, then every submodule in each package
or entry.