mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Edit the library section, rearranging items to flow better and making lots of edits
This commit is contained in:
parent
4907d27c1f
commit
fa881f2bd4
1 changed files with 275 additions and 261 deletions
|
@ -1585,50 +1585,7 @@ Some smaller changes made to the core Python language are:
|
||||||
>>> b.hex()
|
>>> b.hex()
|
||||||
'0x1.5555555555555p-2'
|
'0x1.5555555555555p-2'
|
||||||
|
|
||||||
* Several new functions were added to the :mod:`math` module:
|
* A numerical nicety: when creating a complex number from two floats
|
||||||
|
|
||||||
* :func:`~math.isinf` and :func:`~math.isnan` determine whether a given float
|
|
||||||
is a (positive or negative) infinity or a NaN (Not a Number), respectively.
|
|
||||||
|
|
||||||
* :func:`~math.copysign` copies the sign bit of an IEEE 754 number,
|
|
||||||
returning the absolute value of *x* combined with the sign bit of
|
|
||||||
*y*. For example, ``math.copysign(1, -0.0)`` returns -1.0.
|
|
||||||
(Contributed by Christian Heimes.)
|
|
||||||
|
|
||||||
* :func:`~math.factorial` computes the factorial of a number.
|
|
||||||
(Contributed by Raymond Hettinger; :issue:`2138`.)
|
|
||||||
|
|
||||||
* :func:`~math.fsum` adds up the stream of numbers from an iterable,
|
|
||||||
and is careful to avoid loss of precision through using partial sums.
|
|
||||||
(Contributed by Jean Brouwers, Raymond Hettinger, and Mark Dickinson;
|
|
||||||
:issue:`2819`.)
|
|
||||||
|
|
||||||
* :func:`~math.acosh`, :func:`~math.asinh`
|
|
||||||
and :func:`~math.atanh` compute the inverse hyperbolic functions.
|
|
||||||
|
|
||||||
* The function :func:`~math.log1p` returns the natural logarithm of *1+x*
|
|
||||||
(base *e*).
|
|
||||||
|
|
||||||
There's also a new :func:`trunc` built-in function from the
|
|
||||||
backport of `PEP 3141's type hierarchy for numbers <#pep-3141>`__.
|
|
||||||
|
|
||||||
* The :mod:`math` module has been improved to give more consistent
|
|
||||||
behaviour across platforms, especially with respect to handling of
|
|
||||||
floating-point exceptions and IEEE 754 special values.
|
|
||||||
|
|
||||||
Whenever possible, the module follows the recommendations of the C99
|
|
||||||
standard about 754's special values. For example, ``sqrt(-1.)``
|
|
||||||
should now give a :exc:`ValueError` across almost all platforms,
|
|
||||||
while ``sqrt(float('NaN'))`` should return a NaN on all IEEE 754
|
|
||||||
platforms. Where Annex 'F' of the C99 standard recommends signaling
|
|
||||||
'divide-by-zero' or 'invalid', Python will raise :exc:`ValueError`.
|
|
||||||
Where Annex 'F' of the C99 standard recommends signaling 'overflow',
|
|
||||||
Python will raise :exc:`OverflowError`. (See :issue:`711019` and
|
|
||||||
:issue:`1640`.)
|
|
||||||
|
|
||||||
(Contributed by Christian Heimes and Mark Dickinson.)
|
|
||||||
|
|
||||||
* Another numerical nicety: when creating a complex number from two floats
|
|
||||||
on systems that support signed zeros (-0 and +0), the
|
on systems that support signed zeros (-0 and +0), the
|
||||||
:func:`complex` constructor will now preserve the sign
|
:func:`complex` constructor will now preserve the sign
|
||||||
of the zero. (Fixed by Mark T. Dickinson; :issue:`1507`.)
|
of the zero. (Fixed by Mark T. Dickinson; :issue:`1507`.)
|
||||||
|
@ -1737,10 +1694,10 @@ Optimizations
|
||||||
|
|
||||||
* To reduce memory usage, the garbage collector will now clear internal
|
* To reduce memory usage, the garbage collector will now clear internal
|
||||||
free lists when garbage-collecting the highest generation of objects.
|
free lists when garbage-collecting the highest generation of objects.
|
||||||
This may return memory to the OS sooner.
|
This may return memory to the operating system sooner.
|
||||||
|
|
||||||
The net result of the 2.6 optimizations is that Python 2.6 runs the pystone
|
The net result of the 2.6 optimizations is that Python 2.6 runs the pystone
|
||||||
benchmark around XX% faster than Python 2.5.
|
benchmark around XXX% faster than Python 2.5.
|
||||||
|
|
||||||
.. ======================================================================
|
.. ======================================================================
|
||||||
|
|
||||||
|
@ -1751,25 +1708,24 @@ Interpreter Changes
|
||||||
|
|
||||||
Two command-line options have been reserved for use by other Python
|
Two command-line options have been reserved for use by other Python
|
||||||
implementations. The :option:`-J` switch has been reserved for use by
|
implementations. The :option:`-J` switch has been reserved for use by
|
||||||
Jython for Jython-specific options, such as ones that are passed to
|
Jython for Jython-specific options, such as switches that are passed to
|
||||||
the underlying JVM. :option:`-X` has been reserved for options
|
the underlying JVM. :option:`-X` has been reserved for options
|
||||||
specific to a particular implementation of Python such as CPython,
|
specific to a particular implementation of Python such as CPython,
|
||||||
Jython, or IronPython. If either option is used with Python 2.6, the
|
Jython, or IronPython. If either option is used with Python 2.6, the
|
||||||
interpreter will report that the option isn't currently used.
|
interpreter will report that the option isn't currently used.
|
||||||
|
|
||||||
It's now possible to prevent Python from writing :file:`.pyc` or
|
Python can now be prevented from writing :file:`.pyc` or :file:`.pyo`
|
||||||
:file:`.pyo` files on importing a module by supplying the :option:`-B`
|
files by supplying the :option:`-B` switch to the Python interpreter,
|
||||||
switch to the Python interpreter, or by setting the
|
or by setting the :envvar:`PYTHONDONTWRITEBYTECODE` environment
|
||||||
:envvar:`PYTHONDONTWRITEBYTECODE` environment variable before running
|
variable before running the interpreter. This setting is available to
|
||||||
the interpreter. This setting is available to Python programs as the
|
Python programs as the ``sys.dont_write_bytecode`` variable, and
|
||||||
``sys.dont_write_bytecode`` variable, and can be changed by Python
|
Python code can change the value to modify the interpreter's
|
||||||
code to modify the interpreter's behaviour. (Contributed by Neal
|
behaviour. (Contributed by Neal Norwitz and Georg Brandl.)
|
||||||
Norwitz and Georg Brandl.)
|
|
||||||
|
|
||||||
The encoding used for standard input, output, and standard error can
|
The encoding used for standard input, output, and standard error can
|
||||||
be specified by setting the :envvar:`PYTHONIOENCODING` environment
|
be specified by setting the :envvar:`PYTHONIOENCODING` environment
|
||||||
variable before running the interpreter. The value should be a string
|
variable before running the interpreter. The value should be a string
|
||||||
in the form ``*encoding*`` or ``*encoding*:*errorhandler*``.
|
in the form ``<encoding>`` or ``<encoding>:<errorhandler>``.
|
||||||
The *encoding* part specifies the encoding's name, e.g. ``utf-8`` or
|
The *encoding* part specifies the encoding's name, e.g. ``utf-8`` or
|
||||||
``latin-1``; the optional *errorhandler* part specifies
|
``latin-1``; the optional *errorhandler* part specifies
|
||||||
what to do with characters that can't be handled by the encoding,
|
what to do with characters that can't be handled by the encoding,
|
||||||
|
@ -1781,14 +1737,14 @@ by Martin von Loewis.)
|
||||||
New, Improved, and Deprecated Modules
|
New, Improved, and Deprecated Modules
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
As usual, Python's standard library received a number of enhancements and bug
|
As in every release, Python's standard library received a number of
|
||||||
fixes. Here's a partial list of the most notable changes, sorted alphabetically
|
enhancements and bug fixes. Here's a partial list of the most notable
|
||||||
by module name. Consult the :file:`Misc/NEWS` file in the source tree for a more
|
changes, sorted alphabetically by module name. Consult the
|
||||||
complete list of changes, or look through the Subversion logs for all the
|
:file:`Misc/NEWS` file in the source tree for a more complete list of
|
||||||
details.
|
changes, or look through the Subversion logs for all the details.
|
||||||
|
|
||||||
* (3.0-warning mode) Python 3.0 will feature a reorganized standard
|
* (3.0-warning mode) Python 3.0 will feature a reorganized standard
|
||||||
library; many outdated modules are being dropped.
|
library that will drop many outdated modules and rename others.
|
||||||
Python 2.6 running in 3.0-warning mode will warn about these modules
|
Python 2.6 running in 3.0-warning mode will warn about these modules
|
||||||
when they are imported.
|
when they are imported.
|
||||||
|
|
||||||
|
@ -1815,99 +1771,43 @@ details.
|
||||||
:mod:`pure`,
|
:mod:`pure`,
|
||||||
:mod:`statvfs`,
|
:mod:`statvfs`,
|
||||||
:mod:`sunaudiodev`,
|
:mod:`sunaudiodev`,
|
||||||
:mod:`test.testall`,
|
:mod:`test.testall`, and
|
||||||
:mod:`toaiff`.
|
:mod:`toaiff`.
|
||||||
|
|
||||||
Various MacOS modules have been removed:
|
|
||||||
:mod:`_builtinSuites`,
|
|
||||||
:mod:`aepack`,
|
|
||||||
:mod:`aetools`,
|
|
||||||
:mod:`aetypes`,
|
|
||||||
:mod:`applesingle`,
|
|
||||||
:mod:`appletrawmain`,
|
|
||||||
:mod:`appletrunner`,
|
|
||||||
:mod:`argvemulator`,
|
|
||||||
:mod:`Audio_mac`,
|
|
||||||
:mod:`autoGIL`,
|
|
||||||
:mod:`Carbon`,
|
|
||||||
:mod:`cfmfile`,
|
|
||||||
:mod:`CodeWarrior`,
|
|
||||||
:mod:`ColorPicker`,
|
|
||||||
:mod:`EasyDialogs`,
|
|
||||||
:mod:`Explorer`,
|
|
||||||
:mod:`Finder`,
|
|
||||||
:mod:`FrameWork`,
|
|
||||||
:mod:`findertools`,
|
|
||||||
:mod:`ic`,
|
|
||||||
:mod:`icglue`,
|
|
||||||
:mod:`icopen`,
|
|
||||||
:mod:`macerrors`,
|
|
||||||
:mod:`MacOS`,
|
|
||||||
:mod:`macostools`,
|
|
||||||
:mod:`macresource`,
|
|
||||||
:mod:`MiniAEFrame`,
|
|
||||||
:mod:`Nav`,
|
|
||||||
:mod:`Netscape`,
|
|
||||||
:mod:`OSATerminology`,
|
|
||||||
:mod:`pimp`,
|
|
||||||
:mod:`PixMapWrapper`,
|
|
||||||
:mod:`StdSuites`,
|
|
||||||
:mod:`SystemEvents`,
|
|
||||||
:mod:`Terminal`,
|
|
||||||
:mod:`terminalcommand`.
|
|
||||||
|
|
||||||
A number of old IRIX-specific modules were deprecated:
|
|
||||||
:mod:`al` and :mod:`AL`,
|
|
||||||
:mod:`cd`,
|
|
||||||
:mod:`cddb`,
|
|
||||||
:mod:`cdplayer`,
|
|
||||||
:mod:`CL` and :mod:`cl`,
|
|
||||||
:mod:`DEVICE`,
|
|
||||||
:mod:`ERRNO`,
|
|
||||||
:mod:`FILE`,
|
|
||||||
:mod:`FL` and :mod:`fl`,
|
|
||||||
:mod:`flp`,
|
|
||||||
:mod:`fm`,
|
|
||||||
:mod:`GET`,
|
|
||||||
:mod:`GLWS`,
|
|
||||||
:mod:`GL` and :mod:`gl`,
|
|
||||||
:mod:`IN`,
|
|
||||||
:mod:`IOCTL`,
|
|
||||||
:mod:`jpeg`,
|
|
||||||
:mod:`panelparser`,
|
|
||||||
:mod:`readcd`,
|
|
||||||
:mod:`SV` and :mod:`sv`,
|
|
||||||
:mod:`torgb`,
|
|
||||||
:mod:`videoreader`,
|
|
||||||
:mod:`WAIT`.
|
|
||||||
|
|
||||||
* The :mod:`asyncore` and :mod:`asynchat` modules are
|
* The :mod:`asyncore` and :mod:`asynchat` modules are
|
||||||
being actively maintained again, and a number of patches and bugfixes
|
being actively maintained again, and a number of patches and bugfixes
|
||||||
were applied. (Maintained by Josiah Carlson; see :issue:`1736190` for
|
were applied. (Maintained by Josiah Carlson; see :issue:`1736190` for
|
||||||
one patch.)
|
one patch.)
|
||||||
|
|
||||||
|
.. |uacute| unicode:: 0xA9
|
||||||
|
|
||||||
|
* The :mod:`bsddb` module also has a new maintainer, Jes|uacute|s Cea,
|
||||||
|
and the package is now available as a standalone package.
|
||||||
|
The web page for the package is
|
||||||
|
`www.jcea.es/programacion/pybsddb.htm <http://www.jcea.es/programacion/pybsddb.htm>`__.
|
||||||
|
|
||||||
* The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol
|
* The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol
|
||||||
available, instead of restricting itself to protocol 1.
|
available, instead of restricting itself to protocol 1.
|
||||||
(Contributed by W. Barnes; :issue:`1551443`.)
|
(Contributed by W. Barnes; :issue:`1551443`.)
|
||||||
|
|
||||||
* The :mod:`cgi` module will now read variables from the query string of an
|
* The :mod:`cgi` module will now read variables from the query string
|
||||||
HTTP POST request. This makes it possible to use form actions with
|
of an HTTP POST request. This makes it possible to use form actions
|
||||||
URLs such as "/cgi-bin/add.py?category=1". (Contributed by
|
with URLs that include query strings such as
|
||||||
Alexandre Fiori and Nubis; :issue:`1817`.)
|
"/cgi-bin/add.py?category=1". (Contributed by Alexandre Fiori and
|
||||||
|
Nubis; :issue:`1817`.)
|
||||||
* The :mod:`cmath` module underwent an extensive set of revisions,
|
|
||||||
thanks to Mark Dickinson and Christian Heimes, that added some new
|
|
||||||
features and greatly improved the accuracy of the computations.
|
|
||||||
|
|
||||||
|
* The :mod:`cmath` module underwent extensive revision,
|
||||||
|
contributed by Mark Dickinson and Christian Heimes.
|
||||||
Five new functions were added:
|
Five new functions were added:
|
||||||
|
|
||||||
* :func:`polar` converts a complex number to polar form, returning
|
* :func:`polar` converts a complex number to polar form, returning
|
||||||
the modulus and argument of that complex number.
|
the modulus and argument of the complex number.
|
||||||
|
|
||||||
* :func:`rect` does the opposite, turning a (modulus, argument) pair
|
* :func:`rect` does the opposite, turning a modulus, argument pair
|
||||||
back into the corresponding complex number.
|
back into the corresponding complex number.
|
||||||
|
|
||||||
* :func:`phase` returns the phase or argument of a complex number.
|
* :func:`phase` returns the argument (also called the angle) of a complex
|
||||||
|
number.
|
||||||
|
|
||||||
* :func:`isnan` returns True if either
|
* :func:`isnan` returns True if either
|
||||||
the real or imaginary part of its argument is a NaN.
|
the real or imaginary part of its argument is a NaN.
|
||||||
|
@ -1951,8 +1851,8 @@ details.
|
||||||
>>> v2
|
>>> v2
|
||||||
variable(id=1, name='amplitude', type='int', size=4)
|
variable(id=1, name='amplitude', type='int', size=4)
|
||||||
|
|
||||||
Where the new :class:`namedtuple` type proved suitable, the standard
|
Several places in the standard library that returned tuples have
|
||||||
library has been modified to return them. For example,
|
been modified to return :class:`namedtuple` instances. For example,
|
||||||
the :meth:`Decimal.as_tuple` method now returns a named tuple with
|
the :meth:`Decimal.as_tuple` method now returns a named tuple with
|
||||||
:attr:`sign`, :attr:`digits`, and :attr:`exponent` fields.
|
:attr:`sign`, :attr:`digits`, and :attr:`exponent` fields.
|
||||||
|
|
||||||
|
@ -1979,10 +1879,9 @@ details.
|
||||||
|
|
||||||
(Contributed by Raymond Hettinger.)
|
(Contributed by Raymond Hettinger.)
|
||||||
|
|
||||||
* A new method in the :mod:`curses` module: for a window, :meth:`chgat` changes
|
* A new window method in the :mod:`curses` module,
|
||||||
the display characters for a certain number of characters on a single line.
|
:meth:`chgat`, changes the display attributes for a certain number of
|
||||||
(Contributed by Fabian Kreutz.)
|
characters on a single line. (Contributed by Fabian Kreutz.) ::
|
||||||
::
|
|
||||||
|
|
||||||
# Boldface text starting at y=0,x=21
|
# Boldface text starting at y=0,x=21
|
||||||
# and affecting the rest of the line.
|
# and affecting the rest of the line.
|
||||||
|
@ -2017,32 +1916,29 @@ details.
|
||||||
support added by Raymond Hettinger.)
|
support added by Raymond Hettinger.)
|
||||||
|
|
||||||
* The :mod:`difflib` module's :class:`SequenceMatcher` class
|
* The :mod:`difflib` module's :class:`SequenceMatcher` class
|
||||||
now returns named tuples representing matches.
|
now returns named tuples representing matches,
|
||||||
In addition to behaving like tuples, the returned values
|
with :attr:`a`, :attr:`b`, and :attr:`size` attributes.
|
||||||
also have :attr:`a`, :attr:`b`, and :attr:`size` attributes.
|
|
||||||
(Contributed by Raymond Hettinger.)
|
(Contributed by Raymond Hettinger.)
|
||||||
|
|
||||||
* An optional ``timeout`` parameter was added to the
|
* An optional ``timeout`` parameter, specifying a timeout measured in
|
||||||
:class:`ftplib.FTP` class constructor as well as the :meth:`connect`
|
seconds, was added to the :class:`ftplib.FTP` class constructor as
|
||||||
method, specifying a timeout measured in seconds. (Added by Facundo
|
well as the :meth:`connect` method. (Added by Facundo Batista.)
|
||||||
Batista.) Also, the :class:`FTP` class's
|
Also, the :class:`FTP` class's :meth:`storbinary` and
|
||||||
:meth:`storbinary` and :meth:`storlines`
|
:meth:`storlines` now take an optional *callback* parameter that
|
||||||
now take an optional *callback* parameter that will be called with
|
will be called with each block of data after the data has been sent.
|
||||||
each block of data after the data has been sent.
|
|
||||||
(Contributed by Phil Schwartz; :issue:`1221598`.)
|
(Contributed by Phil Schwartz; :issue:`1221598`.)
|
||||||
|
|
||||||
* The :func:`reduce` built-in function is also available in the
|
* The :func:`reduce` built-in function is also available in the
|
||||||
:mod:`functools` module. In Python 3.0, the built-in is dropped and it's
|
:mod:`functools` module. In Python 3.0, the built-in has been
|
||||||
only available from :mod:`functools`; currently there are no plans
|
dropped and :func:`reduce` is only available from :mod:`functools`;
|
||||||
to drop the built-in in the 2.x series. (Patched by
|
currently there are no plans to drop the built-in in the 2.x series.
|
||||||
Christian Heimes; :issue:`1739906`.)
|
(Patched by Christian Heimes; :issue:`1739906`.)
|
||||||
|
|
||||||
* When possible, the :mod:`getpass` module will now use
|
* When possible, the :mod:`getpass` module will now use
|
||||||
:file:`/dev/tty` (when available) to print
|
:file:`/dev/tty` to print a prompt message and read the password,
|
||||||
a prompting message and read the password, falling back to using
|
falling back to standard error and standard input. If the
|
||||||
standard error and standard input. If the password may be echoed to
|
password may be echoed to the terminal, a warning is printed before
|
||||||
the terminal, a warning is printed before the prompt is displayed.
|
the prompt is displayed. (Contributed by Gregory P. Smith.)
|
||||||
(Contributed by Gregory P. Smith.)
|
|
||||||
|
|
||||||
* The :func:`glob.glob` function can now return Unicode filenames if
|
* The :func:`glob.glob` function can now return Unicode filenames if
|
||||||
a Unicode path was used and Unicode filenames are matched within the
|
a Unicode path was used and Unicode filenames are matched within the
|
||||||
|
@ -2050,9 +1946,9 @@ details.
|
||||||
|
|
||||||
* The :mod:`gopherlib` module has been removed.
|
* The :mod:`gopherlib` module has been removed.
|
||||||
|
|
||||||
* A new function in the :mod:`heapq` module: ``merge(iter1, iter2, ...)``
|
* A new function in the :mod:`heapq` module, ``merge(iter1, iter2, ...)``,
|
||||||
takes any number of iterables that return data *in sorted
|
takes any number of iterables returning data in sorted
|
||||||
order*, and returns a new iterator that returns the contents of all
|
order, and returns a new iterator that returns the contents of all
|
||||||
the iterators, also in sorted order. For example::
|
the iterators, also in sorted order. For example::
|
||||||
|
|
||||||
heapq.merge([1, 3, 5, 9], [2, 8, 16]) ->
|
heapq.merge([1, 3, 5, 9], [2, 8, 16]) ->
|
||||||
|
@ -2065,14 +1961,14 @@ details.
|
||||||
|
|
||||||
:mod:`heapq` is now implemented to only use less-than comparison,
|
:mod:`heapq` is now implemented to only use less-than comparison,
|
||||||
instead of the less-than-or-equal comparison it previously used.
|
instead of the less-than-or-equal comparison it previously used.
|
||||||
This makes :mod:`heapq`'s usage of a type match that of the
|
This makes :mod:`heapq`'s usage of a type match the
|
||||||
:meth:`list.sort` method.
|
:meth:`list.sort` method.
|
||||||
(Contributed by Raymond Hettinger.)
|
(Contributed by Raymond Hettinger.)
|
||||||
|
|
||||||
* An optional ``timeout`` parameter was added to the
|
* An optional ``timeout`` parameter, specifying a timeout measured in
|
||||||
:class:`httplib.HTTPConnection` and :class:`HTTPSConnection`
|
seconds, was added to the :class:`httplib.HTTPConnection` and
|
||||||
class constructors, specifying a timeout measured in seconds.
|
:class:`HTTPSConnection` class constructors. (Added by Facundo
|
||||||
(Added by Facundo Batista.)
|
Batista.)
|
||||||
|
|
||||||
* Most of the :mod:`inspect` module's functions, such as
|
* Most of the :mod:`inspect` module's functions, such as
|
||||||
:func:`getmoduleinfo` and :func:`getargs`, now return named tuples.
|
:func:`getmoduleinfo` and :func:`getargs`, now return named tuples.
|
||||||
|
@ -2157,7 +2053,7 @@ details.
|
||||||
* The :mod:`logging` module's :class:`FileHandler` class
|
* The :mod:`logging` module's :class:`FileHandler` class
|
||||||
and its subclasses :class:`WatchedFileHandler`, :class:`RotatingFileHandler`,
|
and its subclasses :class:`WatchedFileHandler`, :class:`RotatingFileHandler`,
|
||||||
and :class:`TimedRotatingFileHandler` now
|
and :class:`TimedRotatingFileHandler` now
|
||||||
have an optional *delay* parameter to its constructor. If *delay*
|
have an optional *delay* parameter to their constructors. If *delay*
|
||||||
is true, opening of the log file is deferred until the first
|
is true, opening of the log file is deferred until the first
|
||||||
:meth:`emit` call is made. (Contributed by Vinay Sajip.)
|
:meth:`emit` call is made. (Contributed by Vinay Sajip.)
|
||||||
|
|
||||||
|
@ -2166,15 +2062,55 @@ details.
|
||||||
in determining when midnight occurs and in generating filenames;
|
in determining when midnight occurs and in generating filenames;
|
||||||
otherwise local time will be used.
|
otherwise local time will be used.
|
||||||
|
|
||||||
* The :mod:`macfs` module has been removed. This in turn required the
|
* Several new functions were added to the :mod:`math` module:
|
||||||
:func:`macostools.touched` function to be removed because it depended on the
|
|
||||||
:mod:`macfs` module. (:issue:`1490190`)
|
|
||||||
|
|
||||||
* :class:`mmap` objects now have a :meth:`rfind` method that finds
|
* :func:`~math.isinf` and :func:`~math.isnan` determine whether a given float
|
||||||
a substring, beginning at the end of the string and searching
|
is a (positive or negative) infinity or a NaN (Not a Number), respectively.
|
||||||
backwards. The :meth:`find` method
|
|
||||||
also gained an *end* parameter containing the index at which to stop
|
* :func:`~math.copysign` copies the sign bit of an IEEE 754 number,
|
||||||
the forward search.
|
returning the absolute value of *x* combined with the sign bit of
|
||||||
|
*y*. For example, ``math.copysign(1, -0.0)`` returns -1.0.
|
||||||
|
(Contributed by Christian Heimes.)
|
||||||
|
|
||||||
|
* :func:`~math.factorial` computes the factorial of a number.
|
||||||
|
(Contributed by Raymond Hettinger; :issue:`2138`.)
|
||||||
|
|
||||||
|
* :func:`~math.fsum` adds up the stream of numbers from an iterable,
|
||||||
|
and is careful to avoid loss of precision through using partial sums.
|
||||||
|
(Contributed by Jean Brouwers, Raymond Hettinger, and Mark Dickinson;
|
||||||
|
:issue:`2819`.)
|
||||||
|
|
||||||
|
* :func:`~math.acosh`, :func:`~math.asinh`
|
||||||
|
and :func:`~math.atanh` compute the inverse hyperbolic functions.
|
||||||
|
|
||||||
|
* :func:`~math.log1p` returns the natural logarithm of *1+x*
|
||||||
|
(base *e*).
|
||||||
|
|
||||||
|
* :func:`trunc` rounds a number toward zero, returning the closest
|
||||||
|
:class:`Integral` that's between the function's argument and zero.
|
||||||
|
Added as part of the backport of
|
||||||
|
`PEP 3141's type hierarchy for numbers <#pep-3141>`__.
|
||||||
|
|
||||||
|
* The :mod:`math` module has been improved to give more consistent
|
||||||
|
behaviour across platforms, especially with respect to handling of
|
||||||
|
floating-point exceptions and IEEE 754 special values.
|
||||||
|
|
||||||
|
Whenever possible, the module follows the recommendations of the C99
|
||||||
|
standard about 754's special values. For example, ``sqrt(-1.)``
|
||||||
|
should now give a :exc:`ValueError` across almost all platforms,
|
||||||
|
while ``sqrt(float('NaN'))`` should return a NaN on all IEEE 754
|
||||||
|
platforms. Where Annex 'F' of the C99 standard recommends signaling
|
||||||
|
'divide-by-zero' or 'invalid', Python will raise :exc:`ValueError`.
|
||||||
|
Where Annex 'F' of the C99 standard recommends signaling 'overflow',
|
||||||
|
Python will raise :exc:`OverflowError`. (See :issue:`711019` and
|
||||||
|
:issue:`1640`.)
|
||||||
|
|
||||||
|
(Contributed by Christian Heimes and Mark Dickinson.)
|
||||||
|
|
||||||
|
* :class:`mmap` objects now have a :meth:`rfind` method that searches for a
|
||||||
|
substring beginning at the end of the string and searching
|
||||||
|
backwards. The :meth:`find` method also gained an *end* parameter
|
||||||
|
giving an index at which to stop searching.
|
||||||
(Contributed by John Lenton.)
|
(Contributed by John Lenton.)
|
||||||
|
|
||||||
* The :mod:`operator` module gained a
|
* The :mod:`operator` module gained a
|
||||||
|
@ -2192,7 +2128,8 @@ details.
|
||||||
The :func:`attrgetter` function now accepts dotted names and performs
|
The :func:`attrgetter` function now accepts dotted names and performs
|
||||||
the corresponding attribute lookups::
|
the corresponding attribute lookups::
|
||||||
|
|
||||||
>>> inst_name = operator.attrgetter('__class__.__name__')
|
>>> inst_name = operator.attrgetter(
|
||||||
|
... '__class__.__name__')
|
||||||
>>> inst_name('')
|
>>> inst_name('')
|
||||||
'str'
|
'str'
|
||||||
>>> inst_name(help)
|
>>> inst_name(help)
|
||||||
|
@ -2200,14 +2137,28 @@ details.
|
||||||
|
|
||||||
(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)
|
(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)
|
||||||
|
|
||||||
* New functions in the :mod:`os` module include
|
* The :mod:`os` module now wraps several new system calls.
|
||||||
``fchmod(fd, mode)``, ``fchown(fd, uid, gid)``,
|
``fchmod(fd, mode)`` and ``fchown(fd, uid, gid)`` change the mode
|
||||||
and ``lchmod(path, mode)``, on operating systems that support these
|
and ownership of an opened file, and ``lchmod(path, mode)`` changes
|
||||||
functions. :func:`fchmod` and :func:`fchown` change the mode
|
the mode of a symlink. (Contributed by Georg Brandl and Christian
|
||||||
and ownership of an opened file, and :func:`lchmod` changes the mode
|
Heimes.)
|
||||||
of a symlink.
|
|
||||||
|
|
||||||
(Contributed by Georg Brandl and Christian Heimes.)
|
:func:`chflags` and :func:`lchflags` are wrappers for the
|
||||||
|
corresponding system calls (where they're available), changing the
|
||||||
|
flags set on a file. Constants for the flag values are defined in
|
||||||
|
the :mod:`stat` module; some possible values include
|
||||||
|
:const:`UF_IMMUTABLE` to signal the file may not be changed and
|
||||||
|
:const:`UF_APPEND` to indicate that data can only be appended to the
|
||||||
|
file. (Contributed by M. Levinson.)
|
||||||
|
|
||||||
|
``os.closerange(*low*, *high*)`` efficiently closes all file descriptors
|
||||||
|
from *low* to *high*, ignoring any errors and not including *high* itself.
|
||||||
|
This function is now used by the :mod:`subprocess` module to make starting
|
||||||
|
processes faster. (Contributed by Georg Brandl; :issue:`1663329`.)
|
||||||
|
|
||||||
|
* The ``os.environ`` object's :meth:`clear` method will now unset the
|
||||||
|
environment variables using :func:`os.unsetenv` in addition to clearing
|
||||||
|
the object's keys. (Contributed by Martin Horcicka; :issue:`1181`.)
|
||||||
|
|
||||||
* The :func:`os.walk` function now has a ``followlinks`` parameter. If
|
* The :func:`os.walk` function now has a ``followlinks`` parameter. If
|
||||||
set to True, it will follow symlinks pointing to directories and
|
set to True, it will follow symlinks pointing to directories and
|
||||||
|
@ -2216,10 +2167,6 @@ details.
|
||||||
into an infinite recursion if there's a symlink that points to a
|
into an infinite recursion if there's a symlink that points to a
|
||||||
parent directory. (:issue:`1273829`)
|
parent directory. (:issue:`1273829`)
|
||||||
|
|
||||||
* The ``os.environ`` object's :meth:`clear` method will now unset the
|
|
||||||
environment variables using :func:`os.unsetenv` in addition to clearing
|
|
||||||
the object's keys. (Contributed by Martin Horcicka; :issue:`1181`.)
|
|
||||||
|
|
||||||
* In the :mod:`os.path` module, the :func:`splitext` function
|
* In the :mod:`os.path` module, the :func:`splitext` function
|
||||||
has been changed to not split on leading period characters.
|
has been changed to not split on leading period characters.
|
||||||
This produces better results when operating on Unix's dot-files.
|
This produces better results when operating on Unix's dot-files.
|
||||||
|
@ -2227,22 +2174,22 @@ details.
|
||||||
now returns ``('.ipython', '')`` instead of ``('', '.ipython')``.
|
now returns ``('.ipython', '')`` instead of ``('', '.ipython')``.
|
||||||
(:issue:`115886`)
|
(:issue:`115886`)
|
||||||
|
|
||||||
A new function, :func:`relpath(path, start)` returns a relative path
|
A new function, ``os.path.relpath(path, start='.')``, returns a relative path
|
||||||
from the ``start`` path, if it's supplied, or from the current
|
from the ``start`` path, if it's supplied, or from the current
|
||||||
working directory to the destination ``path``. (Contributed by
|
working directory to the destination ``path``. (Contributed by
|
||||||
Richard Barran; :issue:`1339796`.)
|
Richard Barran; :issue:`1339796`.)
|
||||||
|
|
||||||
On Windows, :func:`os.path.expandvars` will now expand environment variables
|
On Windows, :func:`os.path.expandvars` will now expand environment variables
|
||||||
in the form "%var%", and "~user" will be expanded into the
|
given in the form "%var%", and "~user" will be expanded into the
|
||||||
user's home directory path. (Contributed by Josiah Carlson;
|
user's home directory path. (Contributed by Josiah Carlson;
|
||||||
:issue:`957650`.)
|
:issue:`957650`.)
|
||||||
|
|
||||||
* The Python debugger provided by the :mod:`pdb` module
|
* The Python debugger provided by the :mod:`pdb` module
|
||||||
gained a new command: "run" restarts the Python program being debugged,
|
gained a new command: "run" restarts the Python program being debugged
|
||||||
and can optionally take new command-line arguments for the program.
|
and can optionally take new command-line arguments for the program.
|
||||||
(Contributed by Rocky Bernstein; :issue:`1393667`.)
|
(Contributed by Rocky Bernstein; :issue:`1393667`.)
|
||||||
|
|
||||||
The :func:`post_mortem` function, used to enter debugging of a
|
The :func:`post_mortem` function, used to begin debugging a
|
||||||
traceback, will now use the traceback returned by :func:`sys.exc_info`
|
traceback, will now use the traceback returned by :func:`sys.exc_info`
|
||||||
if no traceback is supplied. (Contributed by Facundo Batista;
|
if no traceback is supplied. (Contributed by Facundo Batista;
|
||||||
:issue:`1106316`.)
|
:issue:`1106316`.)
|
||||||
|
@ -2270,24 +2217,12 @@ details.
|
||||||
|
|
||||||
(Contributed by Paul Moore; :issue:`2439`.)
|
(Contributed by Paul Moore; :issue:`2439`.)
|
||||||
|
|
||||||
* New functions in the :mod:`posix` module: :func:`chflags` and :func:`lchflags`
|
|
||||||
are wrappers for the corresponding system calls (where they're available).
|
|
||||||
Constants for the flag values are defined in the :mod:`stat` module; some
|
|
||||||
possible values include :const:`UF_IMMUTABLE` to signal the file may not be
|
|
||||||
changed and :const:`UF_APPEND` to indicate that data can only be appended to the
|
|
||||||
file. (Contributed by M. Levinson.)
|
|
||||||
|
|
||||||
``os.closerange(*low*, *high*)`` efficiently closes all file descriptors
|
|
||||||
from *low* to *high*, ignoring any errors and not including *high* itself.
|
|
||||||
This function is now used by the :mod:`subprocess` module to make starting
|
|
||||||
processes faster. (Contributed by Georg Brandl; :issue:`1663329`.)
|
|
||||||
|
|
||||||
* The :mod:`pyexpat` module's :class:`Parser` objects now allow setting
|
* The :mod:`pyexpat` module's :class:`Parser` objects now allow setting
|
||||||
their :attr:`buffer_size` attribute to change the size of the buffer
|
their :attr:`buffer_size` attribute to change the size of the buffer
|
||||||
used to hold character data.
|
used to hold character data.
|
||||||
(Contributed by Achim Gaedke; :issue:`1137`.)
|
(Contributed by Achim Gaedke; :issue:`1137`.)
|
||||||
|
|
||||||
* The :mod:`Queue` module now provides queue classes that retrieve entries
|
* The :mod:`Queue` module now provides queue variants that retrieve entries
|
||||||
in different orders. The :class:`PriorityQueue` class stores
|
in different orders. The :class:`PriorityQueue` class stores
|
||||||
queued items in a heap and retrieves them in priority order,
|
queued items in a heap and retrieves them in priority order,
|
||||||
and :class:`LifoQueue` retrieves the most recently added entries first,
|
and :class:`LifoQueue` retrieves the most recently added entries first,
|
||||||
|
@ -2304,12 +2239,12 @@ details.
|
||||||
The new ``triangular(low, high, mode)`` function returns random
|
The new ``triangular(low, high, mode)`` function returns random
|
||||||
numbers following a triangular distribution. The returned values
|
numbers following a triangular distribution. The returned values
|
||||||
are between *low* and *high*, not including *high* itself, and
|
are between *low* and *high*, not including *high* itself, and
|
||||||
with *mode* as the mode, the most frequently occurring value
|
with *mode* as the most frequently occurring value
|
||||||
in the distribution. (Contributed by Wladmir van der Laan and
|
in the distribution. (Contributed by Wladmir van der Laan and
|
||||||
Raymond Hettinger; :issue:`1681432`.)
|
Raymond Hettinger; :issue:`1681432`.)
|
||||||
|
|
||||||
* Long regular expression searches carried out by the :mod:`re`
|
* Long regular expression searches carried out by the :mod:`re`
|
||||||
module will now check for signals being delivered, so especially
|
module will check for signals being delivered, so
|
||||||
time-consuming searches can now be interrupted.
|
time-consuming searches can now be interrupted.
|
||||||
(Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)
|
(Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)
|
||||||
|
|
||||||
|
@ -2334,10 +2269,10 @@ details.
|
||||||
|
|
||||||
* The :mod:`select` module now has wrapper functions
|
* The :mod:`select` module now has wrapper functions
|
||||||
for the Linux :cfunc:`epoll` and BSD :cfunc:`kqueue` system calls.
|
for the Linux :cfunc:`epoll` and BSD :cfunc:`kqueue` system calls.
|
||||||
Also, a :meth:`modify` method was added to the existing :class:`poll`
|
:meth:`modify` method was added to the existing :class:`poll`
|
||||||
objects; ``pollobj.modify(fd, eventmask)`` takes a file descriptor
|
objects; ``pollobj.modify(fd, eventmask)`` takes a file descriptor
|
||||||
or file object and an event mask,
|
or file object and an event mask, modifying the recorded event mask
|
||||||
|
for that file.
|
||||||
(Contributed by Christian Heimes; :issue:`1657`.)
|
(Contributed by Christian Heimes; :issue:`1657`.)
|
||||||
|
|
||||||
* The :mod:`sets` module has been deprecated; it's better to
|
* The :mod:`sets` module has been deprecated; it's better to
|
||||||
|
@ -2351,8 +2286,8 @@ details.
|
||||||
The :mod:`shutil` module also provides an :func:`ignore_patterns`
|
The :mod:`shutil` module also provides an :func:`ignore_patterns`
|
||||||
function for use with this new parameter.
|
function for use with this new parameter.
|
||||||
:func:`ignore_patterns` takes an arbitrary number of glob-style patterns
|
:func:`ignore_patterns` takes an arbitrary number of glob-style patterns
|
||||||
and will ignore any files and directories that match this pattern.
|
and will ignore any files and directories that match any of these patterns.
|
||||||
The following example copies a directory tree, but skip both SVN's internal
|
The following example copies a directory tree, but skips both
|
||||||
:file:`.svn` directories and Emacs backup
|
:file:`.svn` directories and Emacs backup
|
||||||
files, which have names ending with '~'::
|
files, which have names ending with '~'::
|
||||||
|
|
||||||
|
@ -2363,7 +2298,8 @@ details.
|
||||||
|
|
||||||
* Integrating signal handling with GUI handling event loops
|
* Integrating signal handling with GUI handling event loops
|
||||||
like those used by Tkinter or GTk+ has long been a problem; most
|
like those used by Tkinter or GTk+ has long been a problem; most
|
||||||
software ends up polling, waking up every fraction of a second.
|
software ends up polling, waking up every fraction of a second to check
|
||||||
|
if any GUI events have occurred.
|
||||||
The :mod:`signal` module can now make this more efficient.
|
The :mod:`signal` module can now make this more efficient.
|
||||||
Calling ``signal.set_wakeup_fd(fd)`` sets a file descriptor
|
Calling ``signal.set_wakeup_fd(fd)`` sets a file descriptor
|
||||||
to be used; when a signal is received, a byte is written to that
|
to be used; when a signal is received, a byte is written to that
|
||||||
|
@ -2376,7 +2312,7 @@ details.
|
||||||
will be added to the list of descriptors monitored by the event loop via
|
will be added to the list of descriptors monitored by the event loop via
|
||||||
:cfunc:`select` or :cfunc:`poll`.
|
:cfunc:`select` or :cfunc:`poll`.
|
||||||
On receiving a signal, a byte will be written and the main event loop
|
On receiving a signal, a byte will be written and the main event loop
|
||||||
will be woken up, without the need to poll.
|
will be woken up, avoiding the need to poll.
|
||||||
|
|
||||||
(Contributed by Adam Olsen; :issue:`1583`.)
|
(Contributed by Adam Olsen; :issue:`1583`.)
|
||||||
|
|
||||||
|
@ -2385,7 +2321,7 @@ details.
|
||||||
(Contributed by Ralf Schmitt.)
|
(Contributed by Ralf Schmitt.)
|
||||||
|
|
||||||
The :func:`setitimer` and :func:`getitimer` functions have also been
|
The :func:`setitimer` and :func:`getitimer` functions have also been
|
||||||
added on systems that support these system calls. :func:`setitimer`
|
added (where they're available). :func:`setitimer`
|
||||||
allows setting interval timers that will cause a signal to be
|
allows setting interval timers that will cause a signal to be
|
||||||
delivered to the process after a specified time, measured in
|
delivered to the process after a specified time, measured in
|
||||||
wall-clock time, consumed process time, or combined process+system
|
wall-clock time, consumed process time, or combined process+system
|
||||||
|
@ -2393,22 +2329,20 @@ details.
|
||||||
|
|
||||||
* The :mod:`smtplib` module now supports SMTP over SSL thanks to the
|
* The :mod:`smtplib` module now supports SMTP over SSL thanks to the
|
||||||
addition of the :class:`SMTP_SSL` class. This class supports an
|
addition of the :class:`SMTP_SSL` class. This class supports an
|
||||||
interface identical to the existing :class:`SMTP` class. Both
|
interface identical to the existing :class:`SMTP` class.
|
||||||
class constructors also have an optional ``timeout`` parameter
|
(Contributed by Monty Taylor.) Both class constructors also have an
|
||||||
that specifies a timeout for the initial connection attempt, measured in
|
optional ``timeout`` parameter that specifies a timeout for the
|
||||||
seconds.
|
initial connection attempt, measured in seconds. (Contributed by
|
||||||
|
Facundo Batista.)
|
||||||
|
|
||||||
An implementation of the LMTP protocol (:rfc:`2033`) was also added to
|
An implementation of the LMTP protocol (:rfc:`2033`) was also added
|
||||||
the module. LMTP is used in place of SMTP when transferring e-mail
|
to the module. LMTP is used in place of SMTP when transferring
|
||||||
between agents that don't manage a mail queue.
|
e-mail between agents that don't manage a mail queue. (LMTP
|
||||||
|
implemented by Leif Hedstrom; :issue:`957003`.)
|
||||||
|
|
||||||
(SMTP over SSL contributed by Monty Taylor; timeout parameter
|
SMTP.starttls() now complies with :rfc:`3207` and forgets any
|
||||||
added by Facundo Batista; LMTP implemented by Leif
|
knowledge obtained from the server not obtained from the TLS
|
||||||
Hedstrom; :issue:`957003`.)
|
negotiation itself. (Patch contributed by Bill Fenner;
|
||||||
|
|
||||||
* In the :mod:`smtplib` module, SMTP.starttls() now complies with :rfc:`3207`
|
|
||||||
and forgets any knowledge obtained from the server not obtained from
|
|
||||||
the TLS negotiation itself. (Patch contributed by Bill Fenner;
|
|
||||||
:issue:`829951`.)
|
:issue:`829951`.)
|
||||||
|
|
||||||
* The :mod:`socket` module now supports TIPC (http://tipc.sf.net),
|
* The :mod:`socket` module now supports TIPC (http://tipc.sf.net),
|
||||||
|
@ -2440,15 +2374,13 @@ details.
|
||||||
:cfunc:`TerminateProcess`.
|
:cfunc:`TerminateProcess`.
|
||||||
(Contributed by Christian Heimes.)
|
(Contributed by Christian Heimes.)
|
||||||
|
|
||||||
* A new variable in the :mod:`sys` module,
|
* A new variable in the :mod:`sys` module, :attr:`float_info`, is an
|
||||||
:attr:`float_info`, is an object
|
object containing information derived from the :file:`float.h` file
|
||||||
containing information about the platform's floating-point support
|
about the platform's floating-point support. Attributes of this
|
||||||
derived from the :file:`float.h` file. Attributes of this object
|
object include :attr:`mant_dig` (number of digits in the mantissa),
|
||||||
include
|
:attr:`epsilon` (smallest difference between 1.0 and the next
|
||||||
:attr:`mant_dig` (number of digits in the mantissa), :attr:`epsilon`
|
largest value representable), and several others. (Contributed by
|
||||||
(smallest difference between 1.0 and the next largest value
|
Christian Heimes; :issue:`1534`.)
|
||||||
representable), and several others. (Contributed by Christian Heimes;
|
|
||||||
:issue:`1534`.)
|
|
||||||
|
|
||||||
Another new variable, :attr:`dont_write_bytecode`, controls whether Python
|
Another new variable, :attr:`dont_write_bytecode`, controls whether Python
|
||||||
writes any :file:`.pyc` or :file:`.pyo` files on importing a module.
|
writes any :file:`.pyc` or :file:`.pyo` files on importing a module.
|
||||||
|
@ -2486,16 +2418,17 @@ details.
|
||||||
is GNU tar; specify the ``format`` parameter to open a file
|
is GNU tar; specify the ``format`` parameter to open a file
|
||||||
using a different format::
|
using a different format::
|
||||||
|
|
||||||
tar = tarfile.open("output.tar", "w", format=tarfile.PAX_FORMAT)
|
tar = tarfile.open("output.tar", "w",
|
||||||
|
format=tarfile.PAX_FORMAT)
|
||||||
|
|
||||||
The new ``errors`` parameter specifies an error handling
|
The new ``errors`` parameter specifies an error handling scheme for
|
||||||
scheme for character conversions: the three standard ways Python can
|
character conversions. ``'strict'``, ``'ignore'``, and
|
||||||
handle errors ``'strict'``, ``'ignore'``, ``'replace'`` , or the
|
``'replace'`` are the three standard ways Python can handle errors,;
|
||||||
special value ``'utf-8'``, which replaces bad characters with their
|
``'utf-8'`` is a special value that replaces bad characters with
|
||||||
UTF-8 representation. Character conversions occur because the PAX
|
their UTF-8 representation. (Character conversions occur because the
|
||||||
format supports Unicode filenames, defaulting to UTF-8 encoding.
|
PAX format supports Unicode filenames, defaulting to UTF-8 encoding.)
|
||||||
|
|
||||||
The :meth:`TarFile.add` method now accepts a ``exclude`` argument that's
|
The :meth:`TarFile.add` method now accepts an ``exclude`` argument that's
|
||||||
a function that can be used to exclude certain filenames from
|
a function that can be used to exclude certain filenames from
|
||||||
an archive.
|
an archive.
|
||||||
The function must take a filename and return true if the file
|
The function must take a filename and return true if the file
|
||||||
|
@ -2524,9 +2457,9 @@ details.
|
||||||
``with tempfile.NamedTemporaryFile() as tmp: ...``.
|
``with tempfile.NamedTemporaryFile() as tmp: ...``.
|
||||||
(Contributed by Alexander Belopolsky; :issue:`2021`.)
|
(Contributed by Alexander Belopolsky; :issue:`2021`.)
|
||||||
|
|
||||||
* The :mod:`test.test_support` module now contains a
|
* The :mod:`test.test_support` module now contains an
|
||||||
:func:`EnvironmentVarGuard`
|
:func:`EnvironmentVarGuard`
|
||||||
context manager that supports temporarily changing environment variables and
|
context manager that temporarily changes environment variables and
|
||||||
automatically restores them to their old values.
|
automatically restores them to their old values.
|
||||||
|
|
||||||
Another context manager, :class:`TransientResource`, can surround calls
|
Another context manager, :class:`TransientResource`, can surround calls
|
||||||
|
@ -2535,7 +2468,8 @@ details.
|
||||||
a network test may ignore certain failures when connecting to an
|
a network test may ignore certain failures when connecting to an
|
||||||
external web site::
|
external web site::
|
||||||
|
|
||||||
with test_support.TransientResource(IOError, errno=errno.ETIMEDOUT):
|
with test_support.TransientResource(IOError,
|
||||||
|
errno=errno.ETIMEDOUT):
|
||||||
f = urllib.urlopen('https://sf.net')
|
f = urllib.urlopen('https://sf.net')
|
||||||
...
|
...
|
||||||
|
|
||||||
|
@ -2546,7 +2480,8 @@ details.
|
||||||
by specifying ``drop_whitespace=False``
|
by specifying ``drop_whitespace=False``
|
||||||
as an argument::
|
as an argument::
|
||||||
|
|
||||||
>>> S = """This sentence has a bunch of extra whitespace."""
|
>>> S = """This sentence has a bunch of
|
||||||
|
... extra whitespace."""
|
||||||
>>> print textwrap.fill(S, width=15)
|
>>> print textwrap.fill(S, width=15)
|
||||||
This sentence
|
This sentence
|
||||||
has a bunch
|
has a bunch
|
||||||
|
@ -2561,7 +2496,7 @@ details.
|
||||||
|
|
||||||
(Contributed by Dwayne Bailey; :issue:`1581073`.)
|
(Contributed by Dwayne Bailey; :issue:`1581073`.)
|
||||||
|
|
||||||
* The :mod:`threading` module API is being changed for Python 3.0, to
|
* The :mod:`threading` module API is being changed in Python 3.0 to
|
||||||
use properties such as :attr:`daemon` instead of :meth:`setDaemon`
|
use properties such as :attr:`daemon` instead of :meth:`setDaemon`
|
||||||
and :meth:`isDaemon` methods, and some methods have been renamed to
|
and :meth:`isDaemon` methods, and some methods have been renamed to
|
||||||
use underscores instead of camel-case; for example, the
|
use underscores instead of camel-case; for example, the
|
||||||
|
@ -2593,11 +2528,11 @@ details.
|
||||||
Gregor Lingl. New features in the module include:
|
Gregor Lingl. New features in the module include:
|
||||||
|
|
||||||
* Better animation of turtle movement and rotation.
|
* Better animation of turtle movement and rotation.
|
||||||
* Control over turtle movement using the new delay(),
|
* Control over turtle movement using the new :meth:`delay`,
|
||||||
tracer(), and speed() methods.
|
:meth:`tracer`, and :meth:`speed` methods.
|
||||||
* The ability to set new shapes for the turtle, and to
|
* The ability to set new shapes for the turtle, and to
|
||||||
define a new coordinate system.
|
define a new coordinate system.
|
||||||
* Turtles now have an undo() method that can roll back actions.
|
* Turtles now have an :meth:`undo()` method that can roll back actions.
|
||||||
* Simple support for reacting to input events such as mouse and keyboard
|
* Simple support for reacting to input events such as mouse and keyboard
|
||||||
activity, making it possible to write simple games.
|
activity, making it possible to write simple games.
|
||||||
* A :file:`turtle.cfg` file can be used to customize the starting appearance
|
* A :file:`turtle.cfg` file can be used to customize the starting appearance
|
||||||
|
@ -2613,7 +2548,8 @@ details.
|
||||||
:func:`urllib2.urlopen` function. The parameter specifies a timeout
|
:func:`urllib2.urlopen` function. The parameter specifies a timeout
|
||||||
measured in seconds. For example::
|
measured in seconds. For example::
|
||||||
|
|
||||||
>>> u = urllib2.urlopen("http://slow.example.com", timeout=3)
|
>>> u = urllib2.urlopen("http://slow.example.com",
|
||||||
|
timeout=3)
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
urllib2.URLError: <urlopen error timed out>
|
urllib2.URLError: <urlopen error timed out>
|
||||||
|
@ -2639,7 +2575,7 @@ details.
|
||||||
attribute; if true, the exception and formatted traceback are returned
|
attribute; if true, the exception and formatted traceback are returned
|
||||||
as HTTP headers "X-Exception" and "X-Traceback". This feature is
|
as HTTP headers "X-Exception" and "X-Traceback". This feature is
|
||||||
for debugging purposes only and should not be used on production servers
|
for debugging purposes only and should not be used on production servers
|
||||||
because the tracebacks could possibly reveal passwords or other sensitive
|
because the tracebacks might reveal passwords or other sensitive
|
||||||
information. (Contributed by Alan McIntyre as part of his
|
information. (Contributed by Alan McIntyre as part of his
|
||||||
project for Google's Summer of Code 2007.)
|
project for Google's Summer of Code 2007.)
|
||||||
|
|
||||||
|
@ -2660,7 +2596,8 @@ details.
|
||||||
|
|
||||||
z = zipfile.ZipFile('python-251.zip')
|
z = zipfile.ZipFile('python-251.zip')
|
||||||
|
|
||||||
# Unpack a single file, writing it relative to the /tmp directory.
|
# Unpack a single file, writing it relative
|
||||||
|
# to the /tmp directory.
|
||||||
z.extract('Python/sysmodule.c', '/tmp')
|
z.extract('Python/sysmodule.c', '/tmp')
|
||||||
|
|
||||||
# Unpack all the files in the archive.
|
# Unpack all the files in the archive.
|
||||||
|
@ -3077,6 +3014,83 @@ Port-Specific Changes: MacOS X
|
||||||
:option:`--with-framework-name=` option to the
|
:option:`--with-framework-name=` option to the
|
||||||
:program:`configure` script.
|
:program:`configure` script.
|
||||||
|
|
||||||
|
* The :mod:`macfs` module has been removed. This in turn required the
|
||||||
|
:func:`macostools.touched` function to be removed because it depended on the
|
||||||
|
:mod:`macfs` module. (:issue:`1490190`)
|
||||||
|
|
||||||
|
* Many other MacOS modules have been deprecated and will removed in
|
||||||
|
Python 3.0:
|
||||||
|
:mod:`_builtinSuites`,
|
||||||
|
:mod:`aepack`,
|
||||||
|
:mod:`aetools`,
|
||||||
|
:mod:`aetypes`,
|
||||||
|
:mod:`applesingle`,
|
||||||
|
:mod:`appletrawmain`,
|
||||||
|
:mod:`appletrunner`,
|
||||||
|
:mod:`argvemulator`,
|
||||||
|
:mod:`Audio_mac`,
|
||||||
|
:mod:`autoGIL`,
|
||||||
|
:mod:`Carbon`,
|
||||||
|
:mod:`cfmfile`,
|
||||||
|
:mod:`CodeWarrior`,
|
||||||
|
:mod:`ColorPicker`,
|
||||||
|
:mod:`EasyDialogs`,
|
||||||
|
:mod:`Explorer`,
|
||||||
|
:mod:`Finder`,
|
||||||
|
:mod:`FrameWork`,
|
||||||
|
:mod:`findertools`,
|
||||||
|
:mod:`ic`,
|
||||||
|
:mod:`icglue`,
|
||||||
|
:mod:`icopen`,
|
||||||
|
:mod:`macerrors`,
|
||||||
|
:mod:`MacOS`,
|
||||||
|
:mod:`macfs`,
|
||||||
|
:mod:`macostools`,
|
||||||
|
:mod:`macresource`,
|
||||||
|
:mod:`MiniAEFrame`,
|
||||||
|
:mod:`Nav`,
|
||||||
|
:mod:`Netscape`,
|
||||||
|
:mod:`OSATerminology`,
|
||||||
|
:mod:`pimp`,
|
||||||
|
:mod:`PixMapWrapper`,
|
||||||
|
:mod:`StdSuites`,
|
||||||
|
:mod:`SystemEvents`,
|
||||||
|
:mod:`Terminal`, and
|
||||||
|
:mod:`terminalcommand`.
|
||||||
|
|
||||||
|
.. ======================================================================
|
||||||
|
|
||||||
|
Port-Specific Changes: IRIX
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
A number of old IRIX-specific modules were deprecated and will
|
||||||
|
be removed in Python 3.0:
|
||||||
|
:mod:`al` and :mod:`AL`,
|
||||||
|
:mod:`cd`,
|
||||||
|
:mod:`cddb`,
|
||||||
|
:mod:`cdplayer`,
|
||||||
|
:mod:`CL` and :mod:`cl`,
|
||||||
|
:mod:`DEVICE`,
|
||||||
|
:mod:`ERRNO`,
|
||||||
|
:mod:`FILE`,
|
||||||
|
:mod:`FL` and :mod:`fl`,
|
||||||
|
:mod:`flp`,
|
||||||
|
:mod:`fm`,
|
||||||
|
:mod:`GET`,
|
||||||
|
:mod:`GLWS`,
|
||||||
|
:mod:`GL` and :mod:`gl`,
|
||||||
|
:mod:`IN`,
|
||||||
|
:mod:`IOCTL`,
|
||||||
|
:mod:`jpeg`,
|
||||||
|
:mod:`panelparser`,
|
||||||
|
:mod:`readcd`,
|
||||||
|
:mod:`SV` and :mod:`sv`,
|
||||||
|
:mod:`torgb`,
|
||||||
|
:mod:`videoreader`, and
|
||||||
|
:mod:`WAIT`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. ======================================================================
|
.. ======================================================================
|
||||||
|
|
||||||
|
|
||||||
|
@ -3113,7 +3127,7 @@ that may require changes to your code:
|
||||||
* The :meth:`__init__` method of :class:`collections.deque`
|
* The :meth:`__init__` method of :class:`collections.deque`
|
||||||
now clears any existing contents of the deque
|
now clears any existing contents of the deque
|
||||||
before adding elements from the iterable. This change makes the
|
before adding elements from the iterable. This change makes the
|
||||||
behavior match that of ``list.__init__()``.
|
behavior match ``list.__init__()``.
|
||||||
|
|
||||||
* The :class:`Decimal` constructor now accepts leading and trailing
|
* The :class:`Decimal` constructor now accepts leading and trailing
|
||||||
whitespace when passed a string. Previously it would raise an
|
whitespace when passed a string. Previously it would raise an
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue