summaryrefslogtreecommitdiffstats
path: root/Doc/library
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/library')
-rw-r--r--Doc/library/2to3.rst8
-rw-r--r--Doc/library/bdb.rst12
-rw-r--r--Doc/library/io.rst4
-rw-r--r--Doc/library/operator.rst156
-rw-r--r--Doc/library/pdb.rst2
-rw-r--r--Doc/library/profile.rst2
-rw-r--r--Doc/library/pty.rst12
-rw-r--r--Doc/library/turtle.rst2
-rw-r--r--Doc/library/weakref.rst7
-rw-r--r--Doc/library/zipfile.rst7
10 files changed, 124 insertions, 88 deletions
diff --git a/Doc/library/2to3.rst b/Doc/library/2to3.rst
index f37bb05..d9eb00c 100644
--- a/Doc/library/2to3.rst
+++ b/Doc/library/2to3.rst
@@ -86,6 +86,14 @@ document could also be refactored with this option.
The :option:`-v` option enables output of more information on the translation
process.
+Since some print statements can be parsed as function calls or statements, 2to3
+cannot always read files containing the print function. When 2to3 detects the
+presence of the ``from __future__ import print_function`` compiler directive, it
+modifies its internal grammar to interpert :func:`print` as a function. This
+change can also be enabled manually with the :option:`-p` flag. Use
+:option:`-p` to run fixers on code that already has had its print statements
+converted.
+
.. _2to3-fixers:
diff --git a/Doc/library/bdb.rst b/Doc/library/bdb.rst
index 3e5fcd6..d6d4ae2 100644
--- a/Doc/library/bdb.rst
+++ b/Doc/library/bdb.rst
@@ -62,14 +62,22 @@ The :mod:`bdb` module also defines two classes:
* The breakpoint hit count.
-.. class:: Bdb()
+.. class:: Bdb(skip=None)
- The :class:`Bdb` acts as a generic Python debugger base class.
+ The :class:`Bdb` class acts as a generic Python debugger base class.
This class takes care of the details of the trace facility; a derived class
should implement user interaction. The standard debugger class
(:class:`pdb.Pdb`) is an example.
+ The *skip* argument, if given, must be an iterable of glob-style
+ module name patterns. The debugger will not step into frames that
+ originate in a module that matches one of these patterns. Whether a
+ frame is considered to originate in a certain module is determined
+ by the ``__name__`` in the frame globals.
+
+ .. versionadded:: 2.7
+ The *skip* argument.
The following methods of :class:`Bdb` normally don't need to be overridden.
diff --git a/Doc/library/io.rst b/Doc/library/io.rst
index 5188b51..8fb984e 100644
--- a/Doc/library/io.rst
+++ b/Doc/library/io.rst
@@ -98,8 +98,8 @@ Module Interface
*buffering* is an optional integer used to set the buffering policy. By
default full buffering is on. Pass 0 to switch buffering off (only allowed
- in binary mode), 1 to set line buffering, and an integer > 1 for full
- buffering.
+ in binary mode), 1 to set line buffering, and an integer > 1 to indicate the
+ size of the buffer.
*encoding* is the name of the encoding used to decode or encode the file.
This should only be used in text mode. The default encoding is platform
diff --git a/Doc/library/operator.rst b/Doc/library/operator.rst
index 24ace8b..175314e 100644
--- a/Doc/library/operator.rst
+++ b/Doc/library/operator.rst
@@ -104,6 +104,14 @@ The mathematical and bitwise operations are the most numerous:
Return ``a // b``.
+.. function:: index(a)
+ __index__(a)
+
+ Return *a* converted to an integer. Equivalent to ``a.__index__()``.
+
+ .. versionadded:: 2.5
+
+
.. function:: inv(obj)
invert(obj)
__inv__(obj)
@@ -133,7 +141,7 @@ The mathematical and bitwise operations are the most numerous:
.. function:: neg(obj)
__neg__(obj)
- Return *obj* negated.
+ Return *obj* negated (``-obj``).
.. function:: or_(a, b)
@@ -145,7 +153,7 @@ The mathematical and bitwise operations are the most numerous:
.. function:: pos(obj)
__pos__(obj)
- Return *obj* positive.
+ Return *obj* positive (``+obj``).
.. function:: pow(a, b)
@@ -179,13 +187,7 @@ The mathematical and bitwise operations are the most numerous:
Return the bitwise exclusive or of *a* and *b*.
-.. function:: index(a)
- __index__(a)
-
- Return *a* converted to an integer. Equivalent to ``a.__index__()``.
-
-
-Operations which work with sequences include:
+Operations which work with sequences (some of them with mappings too) include:
.. function:: concat(a, b)
__concat__(a, b)
@@ -394,67 +396,77 @@ Mapping Operators to Functions
This table shows how abstract operations correspond to operator symbols in the
Python syntax and the functions in the :mod:`operator` module.
-+-----------------------+-------------------------+---------------------------------+
-| Operation | Syntax | Function |
-+=======================+=========================+=================================+
-| Addition | ``a + b`` | ``add(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Concatenation | ``seq1 + seq2`` | ``concat(seq1, seq2)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Containment Test | ``obj in seq`` | ``contains(seq, obj)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Division | ``a / b`` | ``truediv(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Division | ``a // b`` | ``floordiv(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Bitwise And | ``a & b`` | ``and_(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Bitwise Exclusive Or | ``a ^ b`` | ``xor(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Bitwise Inversion | ``~ a`` | ``invert(a)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Bitwise Or | ``a | b`` | ``or_(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Exponentiation | ``a ** b`` | ``pow(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Identity | ``a is b`` | ``is_(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Identity | ``a is not b`` | ``is_not(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Indexed Assignment | ``obj[k] = v`` | ``setitem(obj, k, v)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Indexed Deletion | ``del obj[k]`` | ``delitem(obj, k)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Indexing | ``obj[k]`` | ``getitem(obj, k)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Left Shift | ``a << b`` | ``lshift(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Modulo | ``a % b`` | ``mod(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Multiplication | ``a * b`` | ``mul(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Negation (Arithmetic) | ``- a`` | ``neg(a)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Negation (Logical) | ``not a`` | ``not_(a)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Right Shift | ``a >> b`` | ``rshift(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| String Formatting | ``s % obj`` | ``mod(s, obj)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Subtraction | ``a - b`` | ``sub(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Truth Test | ``obj`` | ``truth(obj)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Ordering | ``a < b`` | ``lt(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Ordering | ``a <= b`` | ``le(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Equality | ``a == b`` | ``eq(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Difference | ``a != b`` | ``ne(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Ordering | ``a >= b`` | ``ge(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
-| Ordering | ``a > b`` | ``gt(a, b)`` |
-+-----------------------+-------------------------+---------------------------------+
++-----------------------+-------------------------+---------------------------------------+
+| Operation | Syntax | Function |
++=======================+=========================+=======================================+
+| Addition | ``a + b`` | ``add(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Concatenation | ``seq1 + seq2`` | ``concat(seq1, seq2)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Containment Test | ``obj in seq`` | ``contains(seq, obj)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Division | ``a / b`` | ``div(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Division | ``a // b`` | ``floordiv(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Bitwise And | ``a & b`` | ``and_(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Bitwise Exclusive Or | ``a ^ b`` | ``xor(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Bitwise Inversion | ``~ a`` | ``invert(a)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Bitwise Or | ``a | b`` | ``or_(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Exponentiation | ``a ** b`` | ``pow(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Identity | ``a is b`` | ``is_(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Identity | ``a is not b`` | ``is_not(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Indexed Assignment | ``obj[k] = v`` | ``setitem(obj, k, v)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Indexed Deletion | ``del obj[k]`` | ``delitem(obj, k)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Indexing | ``obj[k]`` | ``getitem(obj, k)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Left Shift | ``a << b`` | ``lshift(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Modulo | ``a % b`` | ``mod(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Multiplication | ``a * b`` | ``mul(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Negation (Arithmetic) | ``- a`` | ``neg(a)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Negation (Logical) | ``not a`` | ``not_(a)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Positive | ``+ a`` | ``pos(a)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Right Shift | ``a >> b`` | ``rshift(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Sequence Repetition | ``seq * i`` | ``repeat(seq, i)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Slice Assignment | ``seq[i:j] = values`` | ``setitem(seq, slice(i, j), values)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Slice Deletion | ``del seq[i:j]`` | ``delitem(seq, slice(i, j))`` |
++-----------------------+-------------------------+---------------------------------------+
+| Slicing | ``seq[i:j]`` | ``getitem(seq, slice(i, j))`` |
++-----------------------+-------------------------+---------------------------------------+
+| String Formatting | ``s % obj`` | ``mod(s, obj)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Subtraction | ``a - b`` | ``sub(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Truth Test | ``obj`` | ``truth(obj)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Ordering | ``a < b`` | ``lt(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Ordering | ``a <= b`` | ``le(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Equality | ``a == b`` | ``eq(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Difference | ``a != b`` | ``ne(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Ordering | ``a >= b`` | ``ge(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
+| Ordering | ``a > b`` | ``gt(a, b)`` |
++-----------------------+-------------------------+---------------------------------------+
diff --git a/Doc/library/pdb.rst b/Doc/library/pdb.rst
index 95e17b2..b48f842 100644
--- a/Doc/library/pdb.rst
+++ b/Doc/library/pdb.rst
@@ -55,7 +55,7 @@ insert ::
import pdb; pdb.set_trace()
at the location you want to break into the debugger. You can then step through
-the code following this statement, and continue running without debugger using
+the code following this statement, and continue running without the debugger using
the ``c`` command.
The typical usage to inspect a crashed program is::
diff --git a/Doc/library/profile.rst b/Doc/library/profile.rst
index 132365a..d676671 100644
--- a/Doc/library/profile.rst
+++ b/Doc/library/profile.rst
@@ -7,6 +7,8 @@ The Python Profilers
.. sectionauthor:: James Roskind
+.. module:: profile
+ :synopsis: Python source profiler.
.. index:: single: InfoSeek Corporation
diff --git a/Doc/library/pty.rst b/Doc/library/pty.rst
index 6579ef0..be879f2 100644
--- a/Doc/library/pty.rst
+++ b/Doc/library/pty.rst
@@ -3,8 +3,8 @@
========================================
.. module:: pty
- :platform: IRIX, Linux
- :synopsis: Pseudo-Terminal Handling for SGI and Linux.
+ :platform: Linux
+ :synopsis: Pseudo-Terminal Handling for Linux.
.. moduleauthor:: Steen Lumholt
.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
@@ -14,8 +14,8 @@ concept: starting another process and being able to write to and read from its
controlling terminal programmatically.
Because pseudo-terminal handling is highly platform dependent, there is code to
-do it only for SGI and Linux. (The Linux code is supposed to work on other
-platforms, but hasn't been tested yet.)
+do it only for Linux. (The Linux code is supposed to work on other platforms,
+but hasn't been tested yet.)
The :mod:`pty` module defines the following functions:
@@ -32,8 +32,8 @@ The :mod:`pty` module defines the following functions:
.. function:: openpty()
Open a new pseudo-terminal pair, using :func:`os.openpty` if possible, or
- emulation code for SGI and generic Unix systems. Return a pair of file
- descriptors ``(master, slave)``, for the master and the slave end, respectively.
+ emulation code for generic Unix systems. Return a pair of file descriptors
+ ``(master, slave)``, for the master and the slave end, respectively.
.. function:: spawn(argv[, master_read[, stdin_read]])
diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
index d70550a..d947186 100644
--- a/Doc/library/turtle.rst
+++ b/Doc/library/turtle.rst
@@ -2023,7 +2023,7 @@ The public classes of the module :mod:`turtle`
Subclass of TurtleScreen, with :ref:`four methods added <screenspecific>`.
-.. class:: ScrolledCavas(master)
+.. class:: ScrolledCanvas(master)
:param master: some Tkinter widget to contain the ScrolledCanvas, i.e.
a Tkinter-canvas with scrollbars added
diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst
index d462f6e..639d8d0 100644
--- a/Doc/library/weakref.rst
+++ b/Doc/library/weakref.rst
@@ -69,10 +69,9 @@ support weak references but can add support through subclassing::
obj = Dict(red=1, green=2, blue=3) # this object is weak referenceable
-.. impl-detail::
-
- Other built-in types such as :class:`tuple` and :class:`long` do not support
- weak references even when subclassed.
+Other built-in types such as :class:`tuple` and :class:`long` do not support
+weak references even when subclassed (This is an implementation detail and may
+be different across various Python implementations.).
Extension types can easily be made to support weak references; see
:ref:`weakref-support`.
diff --git a/Doc/library/zipfile.rst b/Doc/library/zipfile.rst
index a7fb842..ae8751e 100644
--- a/Doc/library/zipfile.rst
+++ b/Doc/library/zipfile.rst
@@ -197,6 +197,13 @@ ZipFile Objects
be a subset of the list returned by :meth:`namelist`. *pwd* is the password
used for encrypted files.
+ .. warning::
+
+ Never extract archives from untrusted sources without prior inspection.
+ It is possible that files are created outside of *path*, e.g. members
+ that have absolute filenames starting with ``"/"`` or filenames with two
+ dots ``".."``.
+
.. method:: ZipFile.printdir()