From 3c8ce77148195b6a614f94aa1faddd0efd2ec049 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 1 Nov 2007 20:58:08 +0000 Subject: Add new directory "using". This should have been in the merge patch, but it was probably generated with "svn diff" so that new files that weren't added first weren't included. --- Doc/using/cmdline.rst | 409 ++++++++++++++++++++++++++++++++++++++++++++++++++ Doc/using/index.rst | 17 +++ Doc/using/mac.rst | 202 +++++++++++++++++++++++++ 3 files changed, 628 insertions(+) create mode 100644 Doc/using/cmdline.rst create mode 100644 Doc/using/index.rst create mode 100644 Doc/using/mac.rst diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst new file mode 100644 index 0000000..7ee9c04 --- /dev/null +++ b/Doc/using/cmdline.rst @@ -0,0 +1,409 @@ +.. highlightlang:: none + +Command line and environment +============================ + +The CPython interpreter scans the command line and the environment for various +settings. + +.. note:: + + Other implementation's command line schemes may differ. See + :ref:`implementations` for further resources. + + +Command line +------------ + +When invoking Python, you may specify any of these options:: + + python [-dEiOQStuUvxX?] [-c command | -m module-name | script | - ] [args] + +The most common use case is, of course, a simple invocation of a script:: + + python myscript.py + + +Interface options +~~~~~~~~~~~~~~~~~ + +The interpreter interface resembles that of the UNIX shell: + +* When called with standard input connected to a tty device, it prompts for + commands and executes them until an EOF (an end-of-file character, you can + produce that with *Ctrl-D* on UNIX or *Ctrl-Z, Enter* on Windows) is read. +* When called with a file name argument or with a file as standard input, it + reads and executes a script from that file. +* When called with ``-c command``, it executes the Python statement(s) given as + *command*. Here *command* may contain multiple statements separated by + newlines. Leading whitespace is significant in Python statements! +* When called with ``-m module-name``, the given module is searched on the + Python module path and executed as a script. + +In non-interactive mode, the entire input is parsed before it is executed. + +An interface option terminates the list of options consumed by the interpreter, +all consecutive arguments will end up in :data:`sys.argv` -- note that the first +element, subscript zero (``sys.argv[0]``), is a string reflecting the program's +source. + +.. cmdoption:: -c + + Execute the Python code in *command*. *command* can be one ore more + statements separated by newlines, with significant leading whitespace as in + normal module code. + + If this option is given, the first element of :data:`sys.argv` will be + ``"-c"``. + + +.. cmdoption:: -m + + Search :data:`sys.path` for the named module and run the corresponding module + file as if it were executed with ``python modulefile.py`` as a script. + + Since the argument is a *module* name, you must not give a file extension + (``.py``). However, the ``module-name`` does not have to be a valid Python + identifer (e.g. you can use a file name including a hyphen). + + .. note:: + + This option cannot be used with builtin modules and extension modules + written in C, since they do not have Python module files. + + If this option is given, the first element of :data:`sys.argv` will be the + full path to the module file. + + Many standard library modules contain code that is invoked on their execution + as a script. An example is the :mod:`timeit` module:: + + python -mtimeit -s 'setup here' 'benchmarked code here' + python -mtimeit -h # for details + + .. seealso:: + :func:`runpy.run_module` + The actual implementation of this feature. + + :pep:`338` -- Executing modules as scripts + + +.. describe::