Kaydet (Commit) b30f3303 authored tarafından Georg Brandl's avatar Georg Brandl

Fix various issues (mostly Python 2 relics) found by Jacques Ducasse.

üst 77041b23
...@@ -339,12 +339,12 @@ Glossary ...@@ -339,12 +339,12 @@ Glossary
iterator iterator
An object representing a stream of data. Repeated calls to the iterator's An object representing a stream of data. Repeated calls to the iterator's
:meth:`__next__` (or passing it to the built-in function :func:`next`) :meth:`__next__` method (or passing it to the built-in function
method return successive items in the stream. When no more data are :func:`next`) return successive items in the stream. When no more data
available a :exc:`StopIteration` exception is raised instead. At this are available a :exc:`StopIteration` exception is raised instead. At this
point, the iterator object is exhausted and any further calls to its point, the iterator object is exhausted and any further calls to its
:meth:`next` method just raise :exc:`StopIteration` again. Iterators are :meth:`__next__` method just raise :exc:`StopIteration` again. Iterators
required to have an :meth:`__iter__` method that returns the iterator are required to have an :meth:`__iter__` method that returns the iterator
object itself so every iterator is also iterable and may be used in most object itself so every iterator is also iterable and may be used in most
places where other iterables are accepted. One notable exception is code places where other iterables are accepted. One notable exception is code
which attempts multiple iteration passes. A container object (such as a which attempts multiple iteration passes. A container object (such as a
......
...@@ -50,7 +50,7 @@ The :mod:`csv` module defines the following functions: ...@@ -50,7 +50,7 @@ The :mod:`csv` module defines the following functions:
Return a reader object which will iterate over lines in the given *csvfile*. Return a reader object which will iterate over lines in the given *csvfile*.
*csvfile* can be any object which supports the :term:`iterator` protocol and returns a *csvfile* can be any object which supports the :term:`iterator` protocol and returns a
string each time its :meth:`!next` method is called --- :term:`file objects string each time its :meth:`!__next__` method is called --- :term:`file objects
<file object>` and list objects are both suitable. If *csvfile* is a file object, <file object>` and list objects are both suitable. If *csvfile* is a file object,
it should be opened with ``newline=''``. [#]_ An optional it should be opened with ``newline=''``. [#]_ An optional
*dialect* parameter can be given which is used to define a set of parameters *dialect* parameter can be given which is used to define a set of parameters
......
...@@ -142,12 +142,6 @@ Import this class from the :mod:`email.charset` module. ...@@ -142,12 +142,6 @@ Import this class from the :mod:`email.charset` module.
it is *input_charset*. it is *input_charset*.
.. method:: encoded_header_len()
Return the length of the encoded header string, properly calculating for
quoted-printable or base64 encoding.
.. method:: header_encode(string) .. method:: header_encode(string)
Header-encode the string *string*. Header-encode the string *string*.
...@@ -156,6 +150,16 @@ Import this class from the :mod:`email.charset` module. ...@@ -156,6 +150,16 @@ Import this class from the :mod:`email.charset` module.
*header_encoding* attribute. *header_encoding* attribute.
.. method:: header_encode_lines(string, maxlengths)
Header-encode a *string* by converting it first to bytes.
This is similar to :meth:`header_encode` except that the string is fit
into maximum line lengths as given by the argument *maxlengths*, which
must be an iterator: each element returned from this iterator will provide
the next maximum line length.
.. method:: body_encode(string) .. method:: body_encode(string)
Body-encode the string *string*. Body-encode the string *string*.
......
...@@ -130,14 +130,10 @@ Here is the :class:`Header` class description: ...@@ -130,14 +130,10 @@ Here is the :class:`Header` class description:
.. method:: __str__() .. method:: __str__()
A synonym for :meth:`Header.encode`. Useful for ``str(aHeader)``.
.. method:: __unicode__()
A helper for :class:`str`'s :func:`encode` method. Returns the header as A helper for :class:`str`'s :func:`encode` method. Returns the header as
a Unicode string. a Unicode string.
.. method:: __eq__(other) .. method:: __eq__(other)
This method allows you to compare two :class:`Header` instances for This method allows you to compare two :class:`Header` instances for
......
...@@ -176,17 +176,16 @@ attributes: ...@@ -176,17 +176,16 @@ attributes:
.. function:: getmoduleinfo(path) .. function:: getmoduleinfo(path)
Returns a :term:`named tuple` ``ModuleInfo(name, suffix, mode, Returns a :term:`named tuple` ``ModuleInfo(name, suffix, mode, module_type)``
module_type)`` of values that describe how Python will interpret the file of values that describe how Python will interpret the file identified by
identified by *path* if it is a module, or ``None`` if it would not be *path* if it is a module, or ``None`` if it would not be identified as a
identified as a module. The return tuple is ``(name, suffix, mode, mtype)``, module. In that tuple, *name* is the name of the module without the name of
where *name* is the name of the module without the name of any enclosing any enclosing package, *suffix* is the trailing part of the file name (which
package, *suffix* is the trailing part of the file name (which may not be a may not be a dot-delimited extension), *mode* is the :func:`open` mode that
dot-delimited extension), *mode* is the :func:`open` mode that would be used would be used (``'r'`` or ``'rb'``), and *module_type* is an integer giving
(``'r'`` or ``'rb'``), and *mtype* is an integer giving the type of the the type of the module. *module_type* will have a value which can be
module. *mtype* will have a value which can be compared to the constants compared to the constants defined in the :mod:`imp` module; see the
defined in the :mod:`imp` module; see the documentation for that module for documentation for that module for more information on module types.
more information on module types.
.. function:: getmodulename(path) .. function:: getmodulename(path)
...@@ -391,12 +390,12 @@ Classes and functions ...@@ -391,12 +390,12 @@ Classes and functions
.. function:: getargspec(func) .. function:: getargspec(func)
Get the names and default values of a Python function's arguments. A Get the names and default values of a Python function's arguments. A
:term:`named tuple` ``ArgSpec(args, varargs, keywords, :term:`named tuple` ``ArgSpec(args, varargs, keywords, defaults)`` is
defaults)`` is returned. *args* is a list of returned. *args* is a list of the argument names. *varargs* and *keywords*
the argument names. *varargs* and *varkw* are the names of the ``*`` and are the names of the ``*`` and ``**`` arguments or ``None``. *defaults* is a
``**`` arguments or ``None``. *defaults* is a tuple of default argument tuple of default argument values or None if there are no default arguments;
values or None if there are no default arguments; if this tuple has *n* if this tuple has *n* elements, they correspond to the last *n* elements
elements, they correspond to the last *n* elements listed in *args*. listed in *args*.
.. deprecated:: 3.0 .. deprecated:: 3.0
Use :func:`getfullargspec` instead, which provides information about Use :func:`getfullargspec` instead, which provides information about
...@@ -425,8 +424,8 @@ Classes and functions ...@@ -425,8 +424,8 @@ Classes and functions
Get information about arguments passed into a particular frame. A Get information about arguments passed into a particular frame. A
:term:`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is :term:`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is
returned. *args* is a list of the argument names. *varargs* and *varkw* are returned. *args* is a list of the argument names. *varargs* and *keywords*
the names of the ``*`` and ``**`` arguments or ``None``. *locals* is the are the names of the ``*`` and ``**`` arguments or ``None``. *locals* is the
locals dictionary of the given frame. locals dictionary of the given frame.
......
...@@ -19,8 +19,7 @@ names are those used for special class methods; variants without leading and ...@@ -19,8 +19,7 @@ names are those used for special class methods; variants without leading and
trailing ``__`` are also provided for convenience. trailing ``__`` are also provided for convenience.
The functions fall into categories that perform object comparisons, logical The functions fall into categories that perform object comparisons, logical
operations, mathematical operations, sequence operations, and abstract type operations, mathematical operations and sequence operations.
tests.
The object comparison functions are useful for all objects, and are named after The object comparison functions are useful for all objects, and are named after
the rich comparison operators they support: the rich comparison operators they support:
......
...@@ -5,17 +5,11 @@ ...@@ -5,17 +5,11 @@
:synopsis: Common string operations. :synopsis: Common string operations.
.. index:: module: re .. seealso::
The :mod:`string` module contains a number of useful constants and classes :ref:`typesseq`
for string formatting. In addition, Python's built-in string classes
support the sequence type methods described in the :ref:`typesseq`
section, and also the string-specific methods described in the
:ref:`string-methods` section. To output formatted strings, see the
:ref:`string-formatting` section. Also, see the :mod:`re` module for
string functions based on regular expressions.
.. seealso:: :ref:`string-methods`
Latest version of the :source:`string module Python source code Latest version of the :source:`string module Python source code
<Lib/string.py>` <Lib/string.py>`
......
...@@ -285,12 +285,11 @@ keeping all locals in that frame alive until the next garbage collection occurs. ...@@ -285,12 +285,11 @@ keeping all locals in that frame alive until the next garbage collection occurs.
Before an except clause's suite is executed, details about the exception are Before an except clause's suite is executed, details about the exception are
stored in the :mod:`sys` module and can be access via :func:`sys.exc_info`. stored in the :mod:`sys` module and can be access via :func:`sys.exc_info`.
:func:`sys.exc_info` returns a 3-tuple consisting of: ``exc_type``, the :func:`sys.exc_info` returns a 3-tuple consisting of the exception class, the
exception class; ``exc_value``, the exception instance; ``exc_traceback``, a exception instance and a traceback object (see section :ref:`types`) identifying
traceback object (see section :ref:`types`) identifying the point in the program the point in the program where the exception occurred. :func:`sys.exc_info`
where the exception occurred. :func:`sys.exc_info` values are restored to their values are restored to their previous values (before the call) when returning
previous values (before the call) when returning from a function that handled an from a function that handled an exception.
exception.
.. index:: .. index::
keyword: else keyword: else
......
...@@ -141,9 +141,9 @@ weak form of restricted execution. ...@@ -141,9 +141,9 @@ weak form of restricted execution.
The namespace for a module is automatically created the first time a module is The namespace for a module is automatically created the first time a module is
imported. The main module for a script is always called :mod:`__main__`. imported. The main module for a script is always called :mod:`__main__`.
The global statement has the same scope as a name binding operation in the same The :keyword:`global` statement has the same scope as a name binding operation
block. If the nearest enclosing scope for a free variable contains a global in the same block. If the nearest enclosing scope for a free variable contains
statement, the free variable is treated as a global. a global statement, the free variable is treated as a global.
A class definition is an executable statement that may use and define names. A class definition is an executable statement that may use and define names.
These references follow the normal rules for name resolution. The namespace of These references follow the normal rules for name resolution. The namespace of
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment