While a language specification need not prescribe how the
language interpreter is invoked, it is useful to have a notion
of a complete Python program. A complete Python program is
executed in a minimally initialized environment: all built-in
and standard modules are available, but none have been
initialized, except for sys (various system services),
__builtin__ (built-in functions, None) and __main__. The latter
is used to provide the local and global namespace for execution
of the The syntax for a complete Python program is that for file
input, described in the next section. The interpreter may also
be invoked in interactive mode; in this case, it does not read
and execute a complete program but reads and executes one
statement (possibly compound) at a time. The initial environment
is identical to that of a complete program; each statement is
executed in the namespace of __main__. Under Unix, a complete
program can be passed to the interpreter in three forms: with
the -c string command line option, as a file