#
5 PEP 338: Executing Modules as Scripts

The -m switch added in Python 2.4 to execute a module as a script gained a few more abilities. Instead of being implemented in C code inside the Python interpreter, the switch now uses an implementation in a new module, `runpy`.

The `runpy` module implements a more sophisticated import mechanism so that it's now possible to run modules in a package such as `pychecker.checker`. The module also supports alternative import mechanisms such as the `zipimport` module. This means you can add a .zip archive's path to `sys.path` and then use the -m switch to execute code from the archive.

See Also:

PEP 338, Executing modules as scripts
  PEP written and implemented by Nick Coghlan.