forked from AFPy/python-docs-fr
3255 lines
110 KiB
Plaintext
3255 lines
110 KiB
Plaintext
# Copyright (C) 2001-2018, Python Software Foundation
|
||
# For licence information, see README file.
|
||
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: Python 3.6\n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2019-06-03 22:10+0200\n"
|
||
"PO-Revision-Date: 2018-07-03 11:14+0200\n"
|
||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||
"Language: fr\n"
|
||
"MIME-Version: 1.0\n"
|
||
"Content-Type: text/plain; charset=UTF-8\n"
|
||
"Content-Transfer-Encoding: 8bit\n"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:3
|
||
msgid "What's New In Python 3.2"
|
||
msgstr "Nouveautés de Python 3.2"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:0
|
||
msgid "Author"
|
||
msgstr "Auteur"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:5
|
||
msgid "Raymond Hettinger"
|
||
msgstr "Raymond Hettinger"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:51
|
||
msgid ""
|
||
"This article explains the new features in Python 3.2 as compared to 3.1. It "
|
||
"focuses on a few highlights and gives a few examples. For full details, see "
|
||
"the `Misc/NEWS <https://github.com/python/cpython/"
|
||
"blob/076ca6c3c8df3030307e548d9be792ce3c1c6eea/Misc/NEWS>`_ file."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:59
|
||
msgid ":pep:`392` - Python 3.2 Release Schedule"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:63
|
||
msgid "PEP 384: Defining a Stable ABI"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:65
|
||
msgid ""
|
||
"In the past, extension modules built for one Python version were often not "
|
||
"usable with other Python versions. Particularly on Windows, every feature "
|
||
"release of Python required rebuilding all extension modules that one wanted "
|
||
"to use. This requirement was the result of the free access to Python "
|
||
"interpreter internals that extension modules could use."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:71
|
||
msgid ""
|
||
"With Python 3.2, an alternative approach becomes available: extension "
|
||
"modules which restrict themselves to a limited API (by defining "
|
||
"Py_LIMITED_API) cannot use many of the internals, but are constrained to a "
|
||
"set of API functions that are promised to be stable for several releases. As "
|
||
"a consequence, extension modules built for 3.2 in that mode will also work "
|
||
"with 3.3, 3.4, and so on. Extension modules that make use of details of "
|
||
"memory structures can still be built, but will need to be recompiled for "
|
||
"every feature release."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:82
|
||
msgid ":pep:`384` - Defining a Stable ABI"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:83
|
||
msgid "PEP written by Martin von Löwis."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:87
|
||
msgid "PEP 389: Argparse Command Line Parsing Module"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:89
|
||
msgid ""
|
||
"A new module for command line parsing, :mod:`argparse`, was introduced to "
|
||
"overcome the limitations of :mod:`optparse` which did not provide support "
|
||
"for positional arguments (not just options), subcommands, required options "
|
||
"and other common patterns of specifying and validating options."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:94
|
||
msgid ""
|
||
"This module has already had widespread success in the community as a third-"
|
||
"party module. Being more fully featured than its predecessor, the :mod:"
|
||
"`argparse` module is now the preferred module for command-line processing. "
|
||
"The older module is still being kept available because of the substantial "
|
||
"amount of legacy code that depends on it."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:100
|
||
msgid ""
|
||
"Here's an annotated example parser showing features like limiting results to "
|
||
"a set of choices, specifying a *metavar* in the help screen, validating that "
|
||
"one or more positional arguments is present, and making a required option::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:119
|
||
msgid "Example of calling the parser on a command string::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:130
|
||
msgid "Example of the parser's automatically generated help::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:149
|
||
msgid ""
|
||
"An especially nice :mod:`argparse` feature is the ability to define "
|
||
"subparsers, each with their own argument patterns and help displays::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:175
|
||
msgid ":pep:`389` - New Command Line Parsing Module"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:175
|
||
msgid "PEP written by Steven Bethard."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:177
|
||
msgid ""
|
||
":ref:`upgrading-optparse-code` for details on the differences from :mod:"
|
||
"`optparse`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:181
|
||
msgid "PEP 391: Dictionary Based Configuration for Logging"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:183
|
||
msgid ""
|
||
"The :mod:`logging` module provided two kinds of configuration, one style "
|
||
"with function calls for each option or another style driven by an external "
|
||
"file saved in a :mod:`ConfigParser` format. Those options did not provide "
|
||
"the flexibility to create configurations from JSON or YAML files, nor did "
|
||
"they support incremental configuration, which is needed for specifying "
|
||
"logger options from a command line."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:190
|
||
msgid ""
|
||
"To support a more flexible style, the module now offers :func:`logging."
|
||
"config.dictConfig` for specifying logging configuration with plain Python "
|
||
"dictionaries. The configuration options include formatters, handlers, "
|
||
"filters, and loggers. Here's a working example of a configuration "
|
||
"dictionary::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:214
|
||
msgid ""
|
||
"If that dictionary is stored in a file called :file:`conf.json`, it can be "
|
||
"loaded and called with code like this::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:229
|
||
msgid ":pep:`391` - Dictionary Based Configuration for Logging"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:230
|
||
msgid "PEP written by Vinay Sajip."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:234
|
||
msgid "PEP 3148: The ``concurrent.futures`` module"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:236
|
||
msgid ""
|
||
"Code for creating and managing concurrency is being collected in a new top-"
|
||
"level namespace, *concurrent*. Its first member is a *futures* package "
|
||
"which provides a uniform high-level interface for managing threads and "
|
||
"processes."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:240
|
||
msgid ""
|
||
"The design for :mod:`concurrent.futures` was inspired by the *java.util."
|
||
"concurrent* package. In that model, a running call and its result are "
|
||
"represented by a :class:`~concurrent.futures.Future` object that abstracts "
|
||
"features common to threads, processes, and remote procedure calls. That "
|
||
"object supports status checks (running or done), timeouts, cancellations, "
|
||
"adding callbacks, and access to results or exceptions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:247
|
||
msgid ""
|
||
"The primary offering of the new module is a pair of executor classes for "
|
||
"launching and managing calls. The goal of the executors is to make it "
|
||
"easier to use existing tools for making parallel calls. They save the effort "
|
||
"needed to setup a pool of resources, launch the calls, create a results "
|
||
"queue, add time-out handling, and limit the total number of threads, "
|
||
"processes, or remote procedure calls."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:254
|
||
msgid ""
|
||
"Ideally, each application should share a single executor across multiple "
|
||
"components so that process and thread limits can be centrally managed. This "
|
||
"solves the design challenge that arises when each component has its own "
|
||
"competing strategy for resource management."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:259
|
||
msgid ""
|
||
"Both classes share a common interface with three methods: :meth:`~concurrent."
|
||
"futures.Executor.submit` for scheduling a callable and returning a :class:"
|
||
"`~concurrent.futures.Future` object; :meth:`~concurrent.futures.Executor."
|
||
"map` for scheduling many asynchronous calls at a time, and :meth:"
|
||
"`~concurrent.futures.Executor.shutdown` for freeing resources. The class is "
|
||
"a :term:`context manager` and can be used in a :keyword:`with` statement to "
|
||
"assure that resources are automatically released when currently pending "
|
||
"futures are done executing."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:268
|
||
msgid ""
|
||
"A simple of example of :class:`~concurrent.futures.ThreadPoolExecutor` is a "
|
||
"launch of four parallel threads for copying files::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:281
|
||
msgid ":pep:`3148` - Futures -- Execute Computations Asynchronously"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:281
|
||
msgid "PEP written by Brian Quinlan."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:283
|
||
msgid ""
|
||
":ref:`Code for Threaded Parallel URL reads<threadpoolexecutor-example>`, an "
|
||
"example using threads to fetch multiple web pages in parallel."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:286
|
||
msgid ""
|
||
":ref:`Code for computing prime numbers in parallel<processpoolexecutor-"
|
||
"example>`, an example demonstrating :class:`~concurrent.futures."
|
||
"ProcessPoolExecutor`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:292
|
||
msgid "PEP 3147: PYC Repository Directories"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:294
|
||
msgid ""
|
||
"Python's scheme for caching bytecode in *.pyc* files did not work well in "
|
||
"environments with multiple Python interpreters. If one interpreter "
|
||
"encountered a cached file created by another interpreter, it would recompile "
|
||
"the source and overwrite the cached file, thus losing the benefits of "
|
||
"caching."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:299
|
||
msgid ""
|
||
"The issue of \"pyc fights\" has become more pronounced as it has become "
|
||
"commonplace for Linux distributions to ship with multiple versions of "
|
||
"Python. These conflicts also arise with CPython alternatives such as Unladen "
|
||
"Swallow."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:303
|
||
msgid ""
|
||
"To solve this problem, Python's import machinery has been extended to use "
|
||
"distinct filenames for each interpreter. Instead of Python 3.2 and Python "
|
||
"3.3 and Unladen Swallow each competing for a file called \"mymodule.pyc\", "
|
||
"they will now look for \"mymodule.cpython-32.pyc\", \"mymodule.cpython-33.pyc"
|
||
"\", and \"mymodule.unladen10.pyc\". And to prevent all of these new files "
|
||
"from cluttering source directories, the *pyc* files are now collected in a "
|
||
"\"__pycache__\" directory stored under the package directory."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:311
|
||
msgid ""
|
||
"Aside from the filenames and target directories, the new scheme has a few "
|
||
"aspects that are visible to the programmer:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:314
|
||
msgid ""
|
||
"Imported modules now have a :attr:`__cached__` attribute which stores the "
|
||
"name of the actual file that was imported:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:321
|
||
msgid ""
|
||
"The tag that is unique to each interpreter is accessible from the :mod:`imp` "
|
||
"module:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:328
|
||
msgid ""
|
||
"Scripts that try to deduce source filename from the imported file now need "
|
||
"to be smarter. It is no longer sufficient to simply strip the \"c\" from a "
|
||
"\".pyc\" filename. Instead, use the new functions in the :mod:`imp` module:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:337
|
||
msgid ""
|
||
"The :mod:`py_compile` and :mod:`compileall` modules have been updated to "
|
||
"reflect the new naming convention and target directory. The command-line "
|
||
"invocation of *compileall* has new options: ``-i`` for specifying a list of "
|
||
"files and directories to compile and ``-b`` which causes bytecode files to "
|
||
"be written to their legacy location rather than *__pycache__*."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:344
|
||
msgid ""
|
||
"The :mod:`importlib.abc` module has been updated with new :term:`abstract "
|
||
"base classes <abstract base class>` for loading bytecode files. The "
|
||
"obsolete ABCs, :class:`~importlib.abc.PyLoader` and :class:`~importlib.abc."
|
||
"PyPycLoader`, have been deprecated (instructions on how to stay Python 3.1 "
|
||
"compatible are included with the documentation)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:352
|
||
msgid ":pep:`3147` - PYC Repository Directories"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:353 ../Doc/whatsnew/3.2.rst:384
|
||
msgid "PEP written by Barry Warsaw."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:357
|
||
msgid "PEP 3149: ABI Version Tagged .so Files"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:359
|
||
msgid ""
|
||
"The PYC repository directory allows multiple bytecode cache files to be co-"
|
||
"located. This PEP implements a similar mechanism for shared object files by "
|
||
"giving them a common directory and distinct names for each version."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:363
|
||
msgid ""
|
||
"The common directory is \"pyshared\" and the file names are made distinct by "
|
||
"identifying the Python implementation (such as CPython, PyPy, Jython, etc.), "
|
||
"the major and minor version numbers, and optional build flags (such as \"d\" "
|
||
"for debug, \"m\" for pymalloc, \"u\" for wide-unicode). For an arbitrary "
|
||
"package \"foo\", you may see these files when the distribution package is "
|
||
"installed::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:372
|
||
msgid ""
|
||
"In Python itself, the tags are accessible from functions in the :mod:"
|
||
"`sysconfig` module::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:383
|
||
msgid ":pep:`3149` - ABI Version Tagged .so Files"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:388
|
||
msgid "PEP 3333: Python Web Server Gateway Interface v1.0.1"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:390
|
||
msgid ""
|
||
"This informational PEP clarifies how bytes/text issues are to be handled by "
|
||
"the WSGI protocol. The challenge is that string handling in Python 3 is "
|
||
"most conveniently handled with the :class:`str` type even though the HTTP "
|
||
"protocol is itself bytes oriented."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:395
|
||
msgid ""
|
||
"The PEP differentiates so-called *native strings* that are used for request/"
|
||
"response headers and metadata versus *byte strings* which are used for the "
|
||
"bodies of requests and responses."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:399
|
||
msgid ""
|
||
"The *native strings* are always of type :class:`str` but are restricted to "
|
||
"code points between *U+0000* through *U+00FF* which are translatable to "
|
||
"bytes using *Latin-1* encoding. These strings are used for the keys and "
|
||
"values in the environment dictionary and for response headers and statuses "
|
||
"in the :func:`start_response` function. They must follow :rfc:`2616` with "
|
||
"respect to encoding. That is, they must either be *ISO-8859-1* characters or "
|
||
"use :rfc:`2047` MIME encoding."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:407
|
||
msgid ""
|
||
"For developers porting WSGI applications from Python 2, here are the salient "
|
||
"points:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:410
|
||
msgid ""
|
||
"If the app already used strings for headers in Python 2, no change is needed."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:412
|
||
msgid ""
|
||
"If instead, the app encoded output headers or decoded input headers, then "
|
||
"the headers will need to be re-encoded to Latin-1. For example, an output "
|
||
"header encoded in utf-8 was using ``h.encode('utf-8')`` now needs to convert "
|
||
"from bytes to native strings using ``h.encode('utf-8').decode('latin-1')``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:417
|
||
msgid ""
|
||
"Values yielded by an application or sent using the :meth:`write` method must "
|
||
"be byte strings. The :func:`start_response` function and environ must use "
|
||
"native strings. The two cannot be mixed."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:421
|
||
msgid ""
|
||
"For server implementers writing CGI-to-WSGI pathways or other CGI-style "
|
||
"protocols, the users must to be able access the environment using native "
|
||
"strings even though the underlying platform may have a different "
|
||
"convention. To bridge this gap, the :mod:`wsgiref` module has a new "
|
||
"function, :func:`wsgiref.handlers.read_environ` for transcoding CGI "
|
||
"variables from :attr:`os.environ` into native strings and returning a new "
|
||
"dictionary."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:430
|
||
msgid ":pep:`3333` - Python Web Server Gateway Interface v1.0.1"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:431
|
||
msgid "PEP written by Phillip Eby."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:435
|
||
msgid "Other Language Changes"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:437
|
||
msgid "Some smaller changes made to the core Python language are:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:439
|
||
msgid ""
|
||
"String formatting for :func:`format` and :meth:`str.format` gained new "
|
||
"capabilities for the format character **#**. Previously, for integers in "
|
||
"binary, octal, or hexadecimal, it caused the output to be prefixed with "
|
||
"'0b', '0o', or '0x' respectively. Now it can also handle floats, complex, "
|
||
"and Decimal, causing the output to always have a decimal point even when no "
|
||
"digits follow it."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:451
|
||
msgid ""
|
||
"(Suggested by Mark Dickinson and implemented by Eric Smith in :issue:`7094`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:453
|
||
msgid ""
|
||
"There is also a new :meth:`str.format_map` method that extends the "
|
||
"capabilities of the existing :meth:`str.format` method by accepting "
|
||
"arbitrary :term:`mapping` objects. This new method makes it possible to use "
|
||
"string formatting with any of Python's many dictionary-like objects such as :"
|
||
"class:`~collections.defaultdict`, :class:`~shelve.Shelf`, :class:"
|
||
"`~configparser.ConfigParser`, or :mod:`dbm`. It is also useful with custom :"
|
||
"class:`dict` subclasses that normalize keys before look-up or that supply a :"
|
||
"meth:`__missing__` method for unknown keys::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:480
|
||
msgid ""
|
||
"(Suggested by Raymond Hettinger and implemented by Eric Smith in :issue:"
|
||
"`6081`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:483
|
||
msgid ""
|
||
"The interpreter can now be started with a quiet option, ``-q``, to prevent "
|
||
"the copyright and version information from being displayed in the "
|
||
"interactive mode. The option can be introspected using the :attr:`sys."
|
||
"flags` attribute:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:495
|
||
msgid "(Contributed by Marcin Wojdyr in :issue:`1772833`)."
|
||
msgstr "(Contribution par Marcin Wojdyr; :issue:`1772833`)."
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:497
|
||
msgid ""
|
||
"The :func:`hasattr` function works by calling :func:`getattr` and detecting "
|
||
"whether an exception is raised. This technique allows it to detect methods "
|
||
"created dynamically by :meth:`__getattr__` or :meth:`__getattribute__` which "
|
||
"would otherwise be absent from the class dictionary. Formerly, *hasattr* "
|
||
"would catch any exception, possibly masking genuine errors. Now, *hasattr* "
|
||
"has been tightened to only catch :exc:`AttributeError` and let other "
|
||
"exceptions pass through::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:516
|
||
msgid ""
|
||
"(Discovered by Yury Selivanov and fixed by Benjamin Peterson; :issue:`9666`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:518
|
||
msgid ""
|
||
"The :func:`str` of a float or complex number is now the same as its :func:"
|
||
"`repr`. Previously, the :func:`str` form was shorter but that just caused "
|
||
"confusion and is no longer needed now that the shortest possible :func:"
|
||
"`repr` is displayed by default:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:529
|
||
msgid "(Proposed and implemented by Mark Dickinson; :issue:`9337`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:531
|
||
msgid ""
|
||
":class:`memoryview` objects now have a :meth:`~memoryview.release()` method "
|
||
"and they also now support the context management protocol. This allows "
|
||
"timely release of any resources that were acquired when requesting a buffer "
|
||
"from the original object."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:540
|
||
msgid "(Added by Antoine Pitrou; :issue:`9757`.)"
|
||
msgstr "(Contribution par Antoine Pitrou; :issue:`9757`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:542
|
||
msgid ""
|
||
"Previously it was illegal to delete a name from the local namespace if it "
|
||
"occurs as a free variable in a nested block::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:551
|
||
msgid ""
|
||
"This is now allowed. Remember that the target of an :keyword:`except` "
|
||
"clause is cleared, so this code which used to work with Python 2.6, raised "
|
||
"a :exc:`SyntaxError` with Python 3.1 and now works again::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:564
|
||
msgid "(See :issue:`4617`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:566
|
||
msgid ""
|
||
"The internal :c:type:`structsequence` tool now creates subclasses of tuple. "
|
||
"This means that C structures like those returned by :func:`os.stat`, :func:"
|
||
"`time.gmtime`, and :attr:`sys.version_info` now work like a :term:`named "
|
||
"tuple` and now work with functions and methods that expect a tuple as an "
|
||
"argument. This is a big step forward in making the C structures as flexible "
|
||
"as their pure Python counterparts:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:579
|
||
msgid ""
|
||
"(Suggested by Arfrever Frehtes Taifersar Arahesis and implemented by "
|
||
"Benjamin Peterson in :issue:`8413`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:582
|
||
msgid ""
|
||
"Warnings are now easier to control using the :envvar:`PYTHONWARNINGS` "
|
||
"environment variable as an alternative to using ``-W`` at the command line:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:589
|
||
msgid ""
|
||
"(Suggested by Barry Warsaw and implemented by Philip Jenvey in :issue:"
|
||
"`7301`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:591
|
||
msgid ""
|
||
"A new warning category, :exc:`ResourceWarning`, has been added. It is "
|
||
"emitted when potential issues with resource consumption or cleanup are "
|
||
"detected. It is silenced by default in normal release builds but can be "
|
||
"enabled through the means provided by the :mod:`warnings` module, or on the "
|
||
"command line."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:597
|
||
msgid ""
|
||
"A :exc:`ResourceWarning` is issued at interpreter shutdown if the :data:`gc."
|
||
"garbage` list isn't empty, and if :attr:`gc.DEBUG_UNCOLLECTABLE` is set, all "
|
||
"uncollectable objects are printed. This is meant to make the programmer "
|
||
"aware that their code contains object finalization issues."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:602
|
||
msgid ""
|
||
"A :exc:`ResourceWarning` is also issued when a :term:`file object` is "
|
||
"destroyed without having been explicitly closed. While the deallocator for "
|
||
"such object ensures it closes the underlying operating system resource "
|
||
"(usually, a file descriptor), the delay in deallocating the object could "
|
||
"produce various issues, especially under Windows. Here is an example of "
|
||
"enabling the warning from the command line:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:616
|
||
msgid ""
|
||
"(Added by Antoine Pitrou and Georg Brandl in :issue:`10093` and :issue:"
|
||
"`477863`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:618
|
||
msgid ""
|
||
":class:`range` objects now support *index* and *count* methods. This is part "
|
||
"of an effort to make more objects fully implement the :class:`collections."
|
||
"Sequence` :term:`abstract base class`. As a result, the language will have "
|
||
"a more uniform API. In addition, :class:`range` objects now support slicing "
|
||
"and negative indices, even with values larger than :attr:`sys.maxsize`. "
|
||
"This makes *range* more interoperable with lists::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:634
|
||
msgid ""
|
||
"(Contributed by Daniel Stutzbach in :issue:`9213`, by Alexander Belopolsky "
|
||
"in :issue:`2690`, and by Nick Coghlan in :issue:`10889`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:637
|
||
msgid ""
|
||
"The :func:`callable` builtin function from Py2.x was resurrected. It "
|
||
"provides a concise, readable alternative to using an :term:`abstract base "
|
||
"class` in an expression like ``isinstance(x, collections.Callable)``:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:646
|
||
msgid "(See :issue:`10518`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:648
|
||
msgid ""
|
||
"Python's import mechanism can now load modules installed in directories with "
|
||
"non-ASCII characters in the path name. This solved an aggravating problem "
|
||
"with home directories for users with non-ASCII characters in their usernames."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:652
|
||
msgid "(Required extensive work by Victor Stinner in :issue:`9425`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:656
|
||
msgid "New, Improved, and Deprecated Modules"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:658
|
||
msgid ""
|
||
"Python's standard library has undergone significant maintenance efforts and "
|
||
"quality improvements."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:661
|
||
msgid ""
|
||
"The biggest news for Python 3.2 is that the :mod:`email` package, :mod:"
|
||
"`mailbox` module, and :mod:`nntplib` modules now work correctly with the "
|
||
"bytes/text model in Python 3. For the first time, there is correct handling "
|
||
"of messages with mixed encodings."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:666
|
||
msgid ""
|
||
"Throughout the standard library, there has been more careful attention to "
|
||
"encodings and text versus bytes issues. In particular, interactions with "
|
||
"the operating system are now better able to exchange non-ASCII data using "
|
||
"the Windows MBCS encoding, locale-aware encodings, or UTF-8."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:671
|
||
msgid ""
|
||
"Another significant win is the addition of substantially better support for "
|
||
"*SSL* connections and security certificates."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:674
|
||
msgid ""
|
||
"In addition, more classes now implement a :term:`context manager` to support "
|
||
"convenient and reliable resource clean-up using a :keyword:`with` statement."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:678
|
||
msgid "email"
|
||
msgstr "email"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:680
|
||
msgid ""
|
||
"The usability of the :mod:`email` package in Python 3 has been mostly fixed "
|
||
"by the extensive efforts of R. David Murray. The problem was that emails "
|
||
"are typically read and stored in the form of :class:`bytes` rather than :"
|
||
"class:`str` text, and they may contain multiple encodings within a single "
|
||
"email. So, the email package had to be extended to parse and generate email "
|
||
"messages in bytes format."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:687
|
||
msgid ""
|
||
"New functions :func:`~email.message_from_bytes` and :func:`~email."
|
||
"message_from_binary_file`, and new classes :class:`~email.parser."
|
||
"BytesFeedParser` and :class:`~email.parser.BytesParser` allow binary message "
|
||
"data to be parsed into model objects."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:692
|
||
msgid ""
|
||
"Given bytes input to the model, :meth:`~email.message.Message.get_payload` "
|
||
"will by default decode a message body that has a :mailheader:`Content-"
|
||
"Transfer-Encoding` of *8bit* using the charset specified in the MIME headers "
|
||
"and return the resulting string."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:697
|
||
msgid ""
|
||
"Given bytes input to the model, :class:`~email.generator.Generator` will "
|
||
"convert message bodies that have a :mailheader:`Content-Transfer-Encoding` "
|
||
"of *8bit* to instead have a *7bit* :mailheader:`Content-Transfer-Encoding`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:701
|
||
msgid ""
|
||
"Headers with unencoded non-ASCII bytes are deemed to be :rfc:`2047`\\ -"
|
||
"encoded using the *unknown-8bit* character set."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:704
|
||
msgid ""
|
||
"A new class :class:`~email.generator.BytesGenerator` produces bytes as "
|
||
"output, preserving any unchanged non-ASCII data that was present in the "
|
||
"input used to build the model, including message bodies with a :mailheader:"
|
||
"`Content-Transfer-Encoding` of *8bit*."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:709
|
||
msgid ""
|
||
"The :mod:`smtplib` :class:`~smtplib.SMTP` class now accepts a byte string "
|
||
"for the *msg* argument to the :meth:`~smtplib.SMTP.sendmail` method, and a "
|
||
"new method, :meth:`~smtplib.SMTP.send_message` accepts a :class:`~email."
|
||
"message.Message` object and can optionally obtain the *from_addr* and "
|
||
"*to_addrs* addresses directly from the object."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:715
|
||
msgid ""
|
||
"(Proposed and implemented by R. David Murray, :issue:`4661` and :issue:"
|
||
"`10321`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:718
|
||
msgid "elementtree"
|
||
msgstr "elementtree"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:720
|
||
msgid ""
|
||
"The :mod:`xml.etree.ElementTree` package and its :mod:`xml.etree."
|
||
"cElementTree` counterpart have been updated to version 1.3."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:723
|
||
msgid "Several new and useful functions and methods have been added:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:725
|
||
msgid ""
|
||
":func:`xml.etree.ElementTree.fromstringlist` which builds an XML document "
|
||
"from a sequence of fragments"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:727
|
||
msgid ""
|
||
":func:`xml.etree.ElementTree.register_namespace` for registering a global "
|
||
"namespace prefix"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:729
|
||
msgid ""
|
||
":func:`xml.etree.ElementTree.tostringlist` for string representation "
|
||
"including all sublists"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:731
|
||
msgid ""
|
||
":meth:`xml.etree.ElementTree.Element.extend` for appending a sequence of "
|
||
"zero or more elements"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:733
|
||
msgid ""
|
||
":meth:`xml.etree.ElementTree.Element.iterfind` searches an element and "
|
||
"subelements"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:735
|
||
msgid ""
|
||
":meth:`xml.etree.ElementTree.Element.itertext` creates a text iterator over "
|
||
"an element and its subelements"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:737
|
||
msgid ""
|
||
":meth:`xml.etree.ElementTree.TreeBuilder.end` closes the current element"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:738
|
||
msgid ""
|
||
":meth:`xml.etree.ElementTree.TreeBuilder.doctype` handles a doctype "
|
||
"declaration"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:741
|
||
msgid "Two methods have been deprecated:"
|
||
msgstr "Deux méthodes ont été dépréciées :"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:743
|
||
msgid ":meth:`xml.etree.ElementTree.getchildren` use ``list(elem)`` instead."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:744
|
||
msgid ":meth:`xml.etree.ElementTree.getiterator` use ``Element.iter`` instead."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:746
|
||
msgid ""
|
||
"For details of the update, see `Introducing ElementTree <http://effbot.org/"
|
||
"zone/elementtree-13-intro.htm>`_ on Fredrik Lundh's website."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:749
|
||
msgid "(Contributed by Florent Xicluna and Fredrik Lundh, :issue:`6472`.)"
|
||
msgstr "(Contribution par Florent Xicluna et Fredrik Lundh; :issue:`6472`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:752
|
||
msgid "functools"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:754
|
||
msgid ""
|
||
"The :mod:`functools` module includes a new decorator for caching function "
|
||
"calls. :func:`functools.lru_cache` can save repeated queries to an external "
|
||
"resource whenever the results are expected to be the same."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:758
|
||
msgid ""
|
||
"For example, adding a caching decorator to a database query function can "
|
||
"save database accesses for popular searches:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:771
|
||
msgid ""
|
||
"To help with choosing an effective cache size, the wrapped function is "
|
||
"instrumented for tracking cache statistics:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:777
|
||
msgid ""
|
||
"If the phonelist table gets updated, the outdated contents of the cache can "
|
||
"be cleared with:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:782
|
||
msgid ""
|
||
"(Contributed by Raymond Hettinger and incorporating design ideas from Jim "
|
||
"Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245 <https://code."
|
||
"activestate.com/recipes/498245>`_\\, `recipe 577479 <https://code."
|
||
"activestate.com/recipes/577479>`_\\, :issue:`10586`, and :issue:`10593`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:788
|
||
msgid ""
|
||
"The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` "
|
||
"attribute pointing to the original callable function. This allows wrapped "
|
||
"functions to be introspected. It also copies :attr:`__annotations__` if "
|
||
"defined. And now it also gracefully skips over missing attributes such as :"
|
||
"attr:`__doc__` which might not be defined for the wrapped callable."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:794
|
||
msgid ""
|
||
"In the above example, the cache can be removed by recovering the original "
|
||
"function:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:799
|
||
msgid ""
|
||
"(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and :issue:"
|
||
"`8814`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:802
|
||
msgid ""
|
||
"To help write classes with rich comparison methods, a new decorator :func:"
|
||
"`functools.total_ordering` will use existing equality and inequality methods "
|
||
"to fill in the remaining methods."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:806
|
||
msgid ""
|
||
"For example, supplying *__eq__* and *__lt__* will enable :func:`~functools."
|
||
"total_ordering` to fill-in *__le__*, *__gt__* and *__ge__*::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:819
|
||
msgid ""
|
||
"With the *total_ordering* decorator, the remaining comparison methods are "
|
||
"filled in automatically."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:822 ../Doc/whatsnew/3.2.rst:834
|
||
#: ../Doc/whatsnew/3.2.rst:878 ../Doc/whatsnew/3.2.rst:899
|
||
#: ../Doc/whatsnew/3.2.rst:913 ../Doc/whatsnew/3.2.rst:1783
|
||
#: ../Doc/whatsnew/3.2.rst:1828
|
||
msgid "(Contributed by Raymond Hettinger.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:824
|
||
msgid ""
|
||
"To aid in porting programs from Python 2, the :func:`functools.cmp_to_key` "
|
||
"function converts an old-style comparison function to modern :term:`key "
|
||
"function`:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:831
|
||
msgid ""
|
||
"For sorting examples and a brief sorting tutorial, see the `Sorting HowTo "
|
||
"<https://wiki.python.org/moin/HowTo/Sorting/>`_ tutorial."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:837
|
||
msgid "itertools"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:839
|
||
msgid ""
|
||
"The :mod:`itertools` module has a new :func:`~itertools.accumulate` function "
|
||
"modeled on APL's *scan* operator and Numpy's *accumulate* function:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:850
|
||
msgid ""
|
||
"For an example using :func:`~itertools.accumulate`, see the :ref:`examples "
|
||
"for the random module <random-examples>`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:853
|
||
msgid ""
|
||
"(Contributed by Raymond Hettinger and incorporating design suggestions from "
|
||
"Mark Dickinson.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:857
|
||
msgid "collections"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:859
|
||
msgid ""
|
||
"The :class:`collections.Counter` class now has two forms of in-place "
|
||
"subtraction, the existing *-=* operator for `saturating subtraction <https://"
|
||
"en.wikipedia.org/wiki/Saturation_arithmetic>`_ and the new :meth:"
|
||
"`~collections.Counter.subtract` method for regular subtraction. The former "
|
||
"is suitable for `multisets <https://en.wikipedia.org/wiki/Multiset>`_ which "
|
||
"only have positive counts, and the latter is more suitable for use cases "
|
||
"that allow negative counts:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:880
|
||
msgid ""
|
||
"The :class:`collections.OrderedDict` class has a new method :meth:"
|
||
"`~collections.OrderedDict.move_to_end` which takes an existing key and moves "
|
||
"it to either the first or last position in the ordered sequence."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:884
|
||
msgid ""
|
||
"The default is to move an item to the last position. This is equivalent of "
|
||
"renewing an entry with ``od[k] = od.pop(k)``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:887
|
||
msgid ""
|
||
"A fast move-to-end operation is useful for resequencing entries. For "
|
||
"example, an ordered dictionary can be used to track order of access by aging "
|
||
"entries from the oldest to the most recently accessed."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:901
|
||
msgid ""
|
||
"The :class:`collections.deque` class grew two new methods :meth:"
|
||
"`~collections.deque.count` and :meth:`~collections.deque.reverse` that make "
|
||
"them more substitutable for :class:`list` objects:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:916
|
||
msgid "threading"
|
||
msgstr "threading"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:918
|
||
msgid ""
|
||
"The :mod:`threading` module has a new :class:`~threading.Barrier` "
|
||
"synchronization class for making multiple threads wait until all of them "
|
||
"have reached a common barrier point. Barriers are useful for making sure "
|
||
"that a task with multiple preconditions does not run until all of the "
|
||
"predecessor tasks are complete."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:924
|
||
msgid ""
|
||
"Barriers can work with an arbitrary number of threads. This is a "
|
||
"generalization of a `Rendezvous <https://en.wikipedia.org/wiki/"
|
||
"Synchronous_rendezvous>`_ which is defined for only two threads."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:928
|
||
msgid ""
|
||
"Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` "
|
||
"objects are suitable for use in loops. The separate *filling* and "
|
||
"*draining* phases assure that all threads get released (drained) before any "
|
||
"one of them can loop back and re-enter the barrier. The barrier fully "
|
||
"resets after each cycle."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:933
|
||
msgid "Example of using barriers::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:947
|
||
msgid ""
|
||
"In this example, the barrier enforces a rule that votes cannot be counted at "
|
||
"any polling site until all polls are closed. Notice how a solution with a "
|
||
"barrier is similar to one with :meth:`threading.Thread.join`, but the "
|
||
"threads stay alive and continue to do work (summarizing ballots) after the "
|
||
"barrier point is crossed."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:953
|
||
msgid ""
|
||
"If any of the predecessor tasks can hang or be delayed, a barrier can be "
|
||
"created with an optional *timeout* parameter. Then if the timeout period "
|
||
"elapses before all the predecessor tasks reach the barrier point, all "
|
||
"waiting threads are released and a :exc:`~threading.BrokenBarrierError` "
|
||
"exception is raised::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:969
|
||
msgid ""
|
||
"In this example, the barrier enforces a more robust rule. If some election "
|
||
"sites do not finish before midnight, the barrier times-out and the ballots "
|
||
"are sealed and deposited in a queue for later handling."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:973
|
||
msgid ""
|
||
"See `Barrier Synchronization Patterns <http://osl.cs.illinois.edu/media/"
|
||
"papers/karmani-2009-barrier_synchronization_pattern.pdf>`_ for more examples "
|
||
"of how barriers can be used in parallel computing. Also, there is a simple "
|
||
"but thorough explanation of barriers in `The Little Book of Semaphores "
|
||
"<https://greenteapress.com/semaphores/LittleBookOfSemaphores.pdf>`_, "
|
||
"*section 3.6*."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:979
|
||
msgid ""
|
||
"(Contributed by Kristján Valur Jónsson with an API review by Jeffrey Yasskin "
|
||
"in :issue:`8777`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:983
|
||
msgid "datetime and time"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:985
|
||
msgid ""
|
||
"The :mod:`datetime` module has a new type :class:`~datetime.timezone` that "
|
||
"implements the :class:`~datetime.tzinfo` interface by returning a fixed UTC "
|
||
"offset and timezone name. This makes it easier to create timezone-aware "
|
||
"datetime objects::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:998
|
||
msgid ""
|
||
"Also, :class:`~datetime.timedelta` objects can now be multiplied by :class:"
|
||
"`float` and divided by :class:`float` and :class:`int` objects. And :class:"
|
||
"`~datetime.timedelta` objects can now divide one another."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1002
|
||
msgid ""
|
||
"The :meth:`datetime.date.strftime` method is no longer restricted to years "
|
||
"after 1900. The new supported year range is from 1000 to 9999 inclusive."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1005
|
||
msgid ""
|
||
"Whenever a two-digit year is used in a time tuple, the interpretation has "
|
||
"been governed by :attr:`time.accept2dyear`. The default is ``True`` which "
|
||
"means that for a two-digit year, the century is guessed according to the "
|
||
"POSIX rules governing the ``%y`` strptime format."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1010
|
||
msgid ""
|
||
"Starting with Py3.2, use of the century guessing heuristic will emit a :exc:"
|
||
"`DeprecationWarning`. Instead, it is recommended that :attr:`time."
|
||
"accept2dyear` be set to ``False`` so that large date ranges can be used "
|
||
"without guesswork::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1029
|
||
msgid ""
|
||
"Several functions now have significantly expanded date ranges. When :attr:"
|
||
"`time.accept2dyear` is false, the :func:`time.asctime` function will accept "
|
||
"any year that fits in a C int, while the :func:`time.mktime` and :func:`time."
|
||
"strftime` functions will accept the full range supported by the "
|
||
"corresponding operating system functions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1035
|
||
msgid ""
|
||
"(Contributed by Alexander Belopolsky and Victor Stinner in :issue:"
|
||
"`1289118`, :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :"
|
||
"issue:`8013`, and :issue:`10827`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1042
|
||
msgid "math"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1044
|
||
msgid ""
|
||
"The :mod:`math` module has been updated with six new functions inspired by "
|
||
"the C99 standard."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1047
|
||
msgid ""
|
||
"The :func:`~math.isfinite` function provides a reliable and fast way to "
|
||
"detect special values. It returns ``True`` for regular numbers and "
|
||
"``False`` for *Nan* or *Infinity*:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1055
|
||
msgid ""
|
||
"The :func:`~math.expm1` function computes ``e**x-1`` for small values of *x* "
|
||
"without incurring the loss of precision that usually accompanies the "
|
||
"subtraction of nearly equal quantities:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1063
|
||
msgid ""
|
||
"The :func:`~math.erf` function computes a probability integral or `Gaussian "
|
||
"error function <https://en.wikipedia.org/wiki/Error_function>`_. The "
|
||
"complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1078
|
||
msgid ""
|
||
"The :func:`~math.gamma` function is a continuous extension of the factorial "
|
||
"function. See https://en.wikipedia.org/wiki/Gamma_function for details. "
|
||
"Because the function is related to factorials, it grows large even for small "
|
||
"values of *x*, so there is also a :func:`~math.lgamma` function for "
|
||
"computing the natural logarithm of the gamma function:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1090
|
||
msgid "(Contributed by Mark Dickinson.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1093
|
||
msgid "abc"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1095
|
||
msgid ""
|
||
"The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` and :"
|
||
"func:`~abc.abstractstaticmethod`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1098
|
||
msgid ""
|
||
"These tools make it possible to define an :term:`abstract base class` that "
|
||
"requires a particular :func:`classmethod` or :func:`staticmethod` to be "
|
||
"implemented::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1110
|
||
msgid "(Patch submitted by Daniel Urban; :issue:`5867`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1113
|
||
msgid "io"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1115
|
||
msgid ""
|
||
"The :class:`io.BytesIO` has a new method, :meth:`~io.BytesIO.getbuffer`, "
|
||
"which provides functionality similar to :func:`memoryview`. It creates an "
|
||
"editable view of the data without making a copy. The buffer's random access "
|
||
"and support for slice notation are well-suited to in-place editing::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1141
|
||
msgid "(Contributed by Antoine Pitrou in :issue:`5506`.)"
|
||
msgstr "(Contribution par Antoine Pitrou; :issue:`5506`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1144
|
||
msgid "reprlib"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1146
|
||
msgid ""
|
||
"When writing a :meth:`__repr__` method for a custom container, it is easy to "
|
||
"forget to handle the case where a member refers back to the container "
|
||
"itself. Python's builtin objects such as :class:`list` and :class:`set` "
|
||
"handle self-reference by displaying \"...\" in the recursive part of the "
|
||
"representation string."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1152
|
||
msgid ""
|
||
"To help write such :meth:`__repr__` methods, the :mod:`reprlib` module has a "
|
||
"new decorator, :func:`~reprlib.recursive_repr`, for detecting recursive "
|
||
"calls to :meth:`__repr__` and substituting a placeholder string instead::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1167
|
||
msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)"
|
||
msgstr "(Contribution par Raymond Hettinger; :issue:`9826` et issue:`9840`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1170
|
||
msgid "logging"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1172
|
||
msgid ""
|
||
"In addition to dictionary-based configuration described above, the :mod:"
|
||
"`logging` package has many other improvements."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1175
|
||
msgid ""
|
||
"The logging documentation has been augmented by a :ref:`basic tutorial "
|
||
"<logging-basic-tutorial>`\\, an :ref:`advanced tutorial <logging-advanced-"
|
||
"tutorial>`\\, and a :ref:`cookbook <logging-cookbook>` of logging recipes. "
|
||
"These documents are the fastest way to learn about logging."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1180
|
||
msgid ""
|
||
"The :func:`logging.basicConfig` set-up function gained a *style* argument to "
|
||
"support three different types of string formatting. It defaults to \"%\" "
|
||
"for traditional %-formatting, can be set to \"{\" for the new :meth:`str."
|
||
"format` style, or can be set to \"$\" for the shell-style formatting "
|
||
"provided by :class:`string.Template`. The following three configurations "
|
||
"are equivalent::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1191
|
||
msgid ""
|
||
"If no configuration is set-up before a logging event occurs, there is now a "
|
||
"default configuration using a :class:`~logging.StreamHandler` directed to :"
|
||
"attr:`sys.stderr` for events of ``WARNING`` level or higher. Formerly, an "
|
||
"event occurring before a configuration was set-up would either raise an "
|
||
"exception or silently drop the event depending on the value of :attr:"
|
||
"`logging.raiseExceptions`. The new default handler is stored in :attr:"
|
||
"`logging.lastResort`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1199
|
||
msgid ""
|
||
"The use of filters has been simplified. Instead of creating a :class:"
|
||
"`~logging.Filter` object, the predicate can be any Python callable that "
|
||
"returns ``True`` or ``False``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1203
|
||
msgid ""
|
||
"There were a number of other improvements that add flexibility and simplify "
|
||
"configuration. See the module documentation for a full listing of changes "
|
||
"in Python 3.2."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1208
|
||
msgid "csv"
|
||
msgstr "csv"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1210
|
||
msgid ""
|
||
"The :mod:`csv` module now supports a new dialect, :class:`~csv."
|
||
"unix_dialect`, which applies quoting for all fields and a traditional Unix "
|
||
"style with ``'\\n'`` as the line terminator. The registered dialect name is "
|
||
"``unix``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1214
|
||
msgid ""
|
||
"The :class:`csv.DictWriter` has a new method, :meth:`~csv.DictWriter."
|
||
"writeheader` for writing-out an initial row to document the field names::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1228
|
||
msgid ""
|
||
"(New dialect suggested by Jay Talbot in :issue:`5975`, and the new method "
|
||
"suggested by Ed Abraham in :issue:`1537721`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1232
|
||
msgid "contextlib"
|
||
msgstr "contextlib"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1234
|
||
msgid ""
|
||
"There is a new and slightly mind-blowing tool :class:`~contextlib."
|
||
"ContextDecorator` that is helpful for creating a :term:`context manager` "
|
||
"that does double duty as a function decorator."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1238
|
||
msgid ""
|
||
"As a convenience, this new functionality is used by :func:`~contextlib."
|
||
"contextmanager` so that no extra effort is needed to support both roles."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1242
|
||
msgid ""
|
||
"The basic idea is that both context managers and function decorators can be "
|
||
"used for pre-action and post-action wrappers. Context managers wrap a group "
|
||
"of statements using a :keyword:`with` statement, and function decorators "
|
||
"wrap a group of statements enclosed in a function. So, occasionally there "
|
||
"is a need to write a pre-action or post-action wrapper that can be used in "
|
||
"either role."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1248
|
||
msgid ""
|
||
"For example, it is sometimes useful to wrap functions or groups of "
|
||
"statements with a logger that can track the time of entry and time of exit. "
|
||
"Rather than writing both a function decorator and a context manager for the "
|
||
"task, the :func:`~contextlib.contextmanager` provides both capabilities in a "
|
||
"single definition::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1265
|
||
msgid "Formerly, this would have only been usable as a context manager::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1271
|
||
msgid "Now, it can be used as a decorator as well::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1278
|
||
msgid ""
|
||
"Trying to fulfill two roles at once places some limitations on the "
|
||
"technique. Context managers normally have the flexibility to return an "
|
||
"argument usable by a :keyword:`with` statement, but there is no parallel for "
|
||
"function decorators."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1282
|
||
msgid ""
|
||
"In the above example, there is not a clean way for the "
|
||
"*track_entry_and_exit* context manager to return a logging instance for use "
|
||
"in the body of enclosed statements."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1286
|
||
msgid "(Contributed by Michael Foord in :issue:`9110`.)"
|
||
msgstr "(Contribution par Michael Foord; :issue:`9110`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1289
|
||
msgid "decimal and fractions"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1291
|
||
msgid ""
|
||
"Mark Dickinson crafted an elegant and efficient scheme for assuring that "
|
||
"different numeric datatypes will have the same hash value whenever their "
|
||
"actual values are equal (:issue:`8188`)::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1298
|
||
msgid ""
|
||
"Some of the hashing details are exposed through a new attribute, :attr:`sys."
|
||
"hash_info`, which describes the bit width of the hash value, the prime "
|
||
"modulus, the hash values for *infinity* and *nan*, and the multiplier used "
|
||
"for the imaginary part of a number:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1306
|
||
msgid ""
|
||
"An early decision to limit the inter-operability of various numeric types "
|
||
"has been relaxed. It is still unsupported (and ill-advised) to have "
|
||
"implicit mixing in arithmetic expressions such as ``Decimal('1.1') + "
|
||
"float('1.1')`` because the latter loses information in the process of "
|
||
"constructing the binary float. However, since existing floating point value "
|
||
"can be converted losslessly to either a decimal or rational representation, "
|
||
"it makes sense to add them to the constructor and to support mixed-type "
|
||
"comparisons."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1314
|
||
msgid ""
|
||
"The :class:`decimal.Decimal` constructor now accepts :class:`float` objects "
|
||
"directly so there in no longer a need to use the :meth:`~decimal.Decimal."
|
||
"from_float` method (:issue:`8257`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1318
|
||
msgid ""
|
||
"Mixed type comparisons are now fully supported so that :class:`~decimal."
|
||
"Decimal` objects can be directly compared with :class:`float` and :class:"
|
||
"`fractions.Fraction` (:issue:`2531` and :issue:`8188`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1322
|
||
msgid ""
|
||
"Similar changes were made to :class:`fractions.Fraction` so that the :meth:"
|
||
"`~fractions.Fraction.from_float()` and :meth:`~fractions.Fraction."
|
||
"from_decimal` methods are no longer needed (:issue:`8294`):"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1333
|
||
msgid ""
|
||
"Another useful change for the :mod:`decimal` module is that the :attr:"
|
||
"`Context.clamp` attribute is now public. This is useful in creating "
|
||
"contexts that correspond to the decimal interchange formats specified in "
|
||
"IEEE 754 (see :issue:`8540`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1338
|
||
msgid "(Contributed by Mark Dickinson and Raymond Hettinger.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1341
|
||
msgid "ftp"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1343
|
||
msgid ""
|
||
"The :class:`ftplib.FTP` class now supports the context management protocol "
|
||
"to unconditionally consume :exc:`socket.error` exceptions and to close the "
|
||
"FTP connection when done::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1358
|
||
msgid ""
|
||
"Other file-like objects such as :class:`mmap.mmap` and :func:`fileinput."
|
||
"input` also grew auto-closing context managers::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1365
|
||
msgid ""
|
||
"(Contributed by Tarek Ziadé and Giampaolo Rodolà in :issue:`4972`, and by "
|
||
"Georg Brandl in :issue:`8046` and :issue:`1286`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1368
|
||
msgid ""
|
||
"The :class:`~ftplib.FTP_TLS` class now accepts a *context* parameter, which "
|
||
"is a :class:`ssl.SSLContext` object allowing bundling SSL configuration "
|
||
"options, certificates and private keys into a single (potentially long-"
|
||
"lived) structure."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1372
|
||
msgid "(Contributed by Giampaolo Rodolà; :issue:`8806`.)"
|
||
msgstr "(Contribution par Giampaolo Rodolà; :issue:`8806`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1375
|
||
msgid "popen"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1377
|
||
msgid ""
|
||
"The :func:`os.popen` and :func:`subprocess.Popen` functions now support :"
|
||
"keyword:`with` statements for auto-closing of the file descriptors."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1380
|
||
msgid ""
|
||
"(Contributed by Antoine Pitrou and Brian Curtin in :issue:`7461` and :issue:"
|
||
"`10554`.)"
|
||
msgstr ""
|
||
"(Contribution par Antoine Pitrou et Brian Curtin; :issue:`7461` et :issue:"
|
||
"`10554`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1384
|
||
msgid "select"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1386
|
||
msgid ""
|
||
"The :mod:`select` module now exposes a new, constant attribute, :attr:"
|
||
"`~select.PIPE_BUF`, which gives the minimum number of bytes which are "
|
||
"guaranteed not to block when :func:`select.select` says a pipe is ready for "
|
||
"writing."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1395
|
||
msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1398
|
||
msgid "gzip and zipfile"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1400
|
||
msgid ""
|
||
":class:`gzip.GzipFile` now implements the :class:`io.BufferedIOBase` :term:"
|
||
"`abstract base class` (except for ``truncate()``). It also has a :meth:"
|
||
"`~gzip.GzipFile.peek` method and supports unseekable as well as zero-padded "
|
||
"file objects."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1405
|
||
msgid ""
|
||
"The :mod:`gzip` module also gains the :func:`~gzip.compress` and :func:"
|
||
"`~gzip.decompress` functions for easier in-memory compression and "
|
||
"decompression. Keep in mind that text needs to be encoded as :class:`bytes` "
|
||
"before compressing and decompressing:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1422
|
||
msgid ""
|
||
"(Contributed by Anand B. Pillai in :issue:`3488`; and by Antoine Pitrou, Nir "
|
||
"Aides and Brian Curtin in :issue:`9962`, :issue:`1675951`, :issue:`7471` "
|
||
"and :issue:`2846`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1426
|
||
msgid ""
|
||
"Also, the :class:`zipfile.ZipExtFile` class was reworked internally to "
|
||
"represent files stored inside an archive. The new implementation is "
|
||
"significantly faster and can be wrapped in an :class:`io.BufferedReader` "
|
||
"object for more speedups. It also solves an issue where interleaved calls "
|
||
"to *read* and *readline* gave the wrong results."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1432
|
||
msgid "(Patch submitted by Nir Aides in :issue:`7610`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1435
|
||
msgid "tarfile"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1437
|
||
msgid ""
|
||
"The :class:`~tarfile.TarFile` class can now be used as a context manager. "
|
||
"In addition, its :meth:`~tarfile.TarFile.add` method has a new option, "
|
||
"*filter*, that controls which files are added to the archive and allows the "
|
||
"file metadata to be edited."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1442
|
||
msgid ""
|
||
"The new *filter* option replaces the older, less flexible *exclude* "
|
||
"parameter which is now deprecated. If specified, the optional *filter* "
|
||
"parameter needs to be a :term:`keyword argument`. The user-supplied filter "
|
||
"function accepts a :class:`~tarfile.TarInfo` object and returns an updated :"
|
||
"class:`~tarfile.TarInfo` object, or if it wants the file to be excluded, the "
|
||
"function can return ``None``::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1466
|
||
msgid ""
|
||
"(Proposed by Tarek Ziadé and implemented by Lars Gustäbel in :issue:`6856`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1469
|
||
msgid "hashlib"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1471
|
||
msgid ""
|
||
"The :mod:`hashlib` module has two new constant attributes listing the "
|
||
"hashing algorithms guaranteed to be present in all implementations and those "
|
||
"available on the current implementation::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1486
|
||
msgid "(Suggested by Carl Chenet in :issue:`7418`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1489
|
||
msgid "ast"
|
||
msgstr "ast"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1491
|
||
msgid ""
|
||
"The :mod:`ast` module has a wonderful a general-purpose tool for safely "
|
||
"evaluating expression strings using the Python literal syntax. The :func:"
|
||
"`ast.literal_eval` function serves as a secure alternative to the builtin :"
|
||
"func:`eval` function which is easily abused. Python 3.2 adds :class:`bytes` "
|
||
"and :class:`set` literals to the list of supported types: strings, bytes, "
|
||
"numbers, tuples, lists, dicts, sets, booleans, and ``None``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1512
|
||
msgid "(Implemented by Benjamin Peterson and Georg Brandl.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1515
|
||
msgid "os"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1517
|
||
msgid ""
|
||
"Different operating systems use various encodings for filenames and "
|
||
"environment variables. The :mod:`os` module provides two new functions, :"
|
||
"func:`~os.fsencode` and :func:`~os.fsdecode`, for encoding and decoding "
|
||
"filenames:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1527
|
||
msgid ""
|
||
"Some operating systems allow direct access to encoded bytes in the "
|
||
"environment. If so, the :attr:`os.supports_bytes_environ` constant will be "
|
||
"true."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1531
|
||
msgid ""
|
||
"For direct access to encoded environment variables (if available), use the "
|
||
"new :func:`os.getenvb` function or use :data:`os.environb` which is a bytes "
|
||
"version of :data:`os.environ`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1535
|
||
msgid "(Contributed by Victor Stinner.)"
|
||
msgstr "(Contribution par Victor Stinner)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1538
|
||
msgid "shutil"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1540
|
||
msgid "The :func:`shutil.copytree` function has two new options:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1542
|
||
msgid ""
|
||
"*ignore_dangling_symlinks*: when ``symlinks=False`` so that the function "
|
||
"copies a file pointed to by a symlink, not the symlink itself. This option "
|
||
"will silence the error raised if the file doesn't exist."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1546
|
||
msgid ""
|
||
"*copy_function*: is a callable that will be used to copy files. :func:"
|
||
"`shutil.copy2` is used by default."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1549 ../Doc/whatsnew/3.2.rst:1587
|
||
msgid "(Contributed by Tarek Ziadé.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1551
|
||
msgid ""
|
||
"In addition, the :mod:`shutil` module now supports :ref:`archiving "
|
||
"operations <archiving-operations>` for zipfiles, uncompressed tarfiles, "
|
||
"gzipped tarfiles, and bzipped tarfiles. And there are functions for "
|
||
"registering additional archiving file formats (such as xz compressed "
|
||
"tarfiles or custom formats)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1556
|
||
msgid ""
|
||
"The principal functions are :func:`~shutil.make_archive` and :func:`~shutil."
|
||
"unpack_archive`. By default, both operate on the current directory (which "
|
||
"can be set by :func:`os.chdir`) and on any sub-directories. The archive "
|
||
"filename needs to be specified with a full pathname. The archiving step is "
|
||
"non-destructive (the original files are left unchanged)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1590
|
||
msgid "sqlite3"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1592
|
||
msgid ""
|
||
"The :mod:`sqlite3` module was updated to pysqlite version 2.6.0. It has two "
|
||
"new capabilities."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1594
|
||
msgid ""
|
||
"The :attr:`sqlite3.Connection.in_transit` attribute is true if there is an "
|
||
"active transaction for uncommitted changes."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1597
|
||
msgid ""
|
||
"The :meth:`sqlite3.Connection.enable_load_extension` and :meth:`sqlite3."
|
||
"Connection.load_extension` methods allows you to load SQLite extensions from "
|
||
"\".so\" files. One well-known extension is the fulltext-search extension "
|
||
"distributed with SQLite."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1602
|
||
msgid "(Contributed by R. David Murray and Shashwat Anand; :issue:`8845`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1605
|
||
msgid "html"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1607
|
||
msgid ""
|
||
"A new :mod:`html` module was introduced with only a single function, :func:"
|
||
"`~html.escape`, which is used for escaping reserved characters from HTML "
|
||
"markup:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1616
|
||
msgid "socket"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1618
|
||
msgid "The :mod:`socket` module has two new improvements."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1620
|
||
msgid ""
|
||
"Socket objects now have a :meth:`~socket.socket.detach()` method which puts "
|
||
"the socket into closed state without actually closing the underlying file "
|
||
"descriptor. The latter can then be reused for other purposes. (Added by "
|
||
"Antoine Pitrou; :issue:`8524`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1625
|
||
msgid ""
|
||
":func:`socket.create_connection` now supports the context management "
|
||
"protocol to unconditionally consume :exc:`socket.error` exceptions and to "
|
||
"close the socket when done. (Contributed by Giampaolo Rodolà; :issue:`9794`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1631
|
||
msgid "ssl"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1633
|
||
msgid ""
|
||
"The :mod:`ssl` module added a number of features to satisfy common "
|
||
"requirements for secure (encrypted, authenticated) internet connections:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1636
|
||
msgid ""
|
||
"A new class, :class:`~ssl.SSLContext`, serves as a container for persistent "
|
||
"SSL data, such as protocol settings, certificates, private keys, and various "
|
||
"other options. It includes a :meth:`~ssl.SSLContext.wrap_socket` for "
|
||
"creating an SSL socket from an SSL context."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1641
|
||
msgid ""
|
||
"A new function, :func:`ssl.match_hostname`, supports server identity "
|
||
"verification for higher-level protocols by implementing the rules of HTTPS "
|
||
"(from :rfc:`2818`) which are also suitable for other protocols."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1645
|
||
msgid ""
|
||
"The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* "
|
||
"argument. The *ciphers* string lists the allowed encryption algorithms "
|
||
"using the format described in the `OpenSSL documentation <https://www."
|
||
"openssl.org/docs/manmaster/man1/ciphers.html#CIPHER-LIST-FORMAT>`__."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1650
|
||
msgid ""
|
||
"When linked against recent versions of OpenSSL, the :mod:`ssl` module now "
|
||
"supports the Server Name Indication extension to the TLS protocol, allowing "
|
||
"multiple \"virtual hosts\" using different certificates on a single IP port. "
|
||
"This extension is only supported in client mode, and is activated by passing "
|
||
"the *server_hostname* argument to :meth:`ssl.SSLContext.wrap_socket`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1656
|
||
msgid ""
|
||
"Various options have been added to the :mod:`ssl` module, such as :data:"
|
||
"`~ssl.OP_NO_SSLv2` which disables the insecure and obsolete SSLv2 protocol."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1660
|
||
msgid ""
|
||
"The extension now loads all the OpenSSL ciphers and digest algorithms. If "
|
||
"some SSL certificates cannot be verified, they are reported as an \"unknown "
|
||
"algorithm\" error."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1664
|
||
msgid ""
|
||
"The version of OpenSSL being used is now accessible using the module "
|
||
"attributes :data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl."
|
||
"OPENSSL_VERSION_INFO` (a 5-tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` "
|
||
"(an integer)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1669
|
||
msgid ""
|
||
"(Contributed by Antoine Pitrou in :issue:`8850`, :issue:`1589`, :issue:"
|
||
"`8322`, :issue:`5639`, :issue:`4870`, :issue:`8484`, and :issue:`8321`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1673
|
||
msgid "nntp"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1675
|
||
msgid ""
|
||
"The :mod:`nntplib` module has a revamped implementation with better bytes "
|
||
"and text semantics as well as more practical APIs. These improvements break "
|
||
"compatibility with the nntplib version in Python 3.1, which was partly "
|
||
"dysfunctional in itself."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1680
|
||
msgid ""
|
||
"Support for secure connections through both implicit (using :class:`nntplib."
|
||
"NNTP_SSL`) and explicit (using :meth:`nntplib.NNTP.starttls`) TLS has also "
|
||
"been added."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1684
|
||
msgid ""
|
||
"(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant in :issue:"
|
||
"`1926`.)"
|
||
msgstr ""
|
||
"(Contribution par Antoine Pitrou, :issue:`9360`, et Andrew Vant, :issue:"
|
||
"`1926`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1687
|
||
msgid "certificates"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1689
|
||
msgid ""
|
||
":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` "
|
||
"and :func:`urllib.request.urlopen` now take optional arguments to allow for "
|
||
"server certificate checking against a set of Certificate Authorities, as "
|
||
"recommended in public uses of HTTPS."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1694
|
||
msgid "(Added by Antoine Pitrou, :issue:`9003`.)"
|
||
msgstr "(Ajouté par Antoine Pitrou; :issue:`9003`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1697
|
||
msgid "imaplib"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1699
|
||
msgid ""
|
||
"Support for explicit TLS on standard IMAP4 connections has been added "
|
||
"through the new :mod:`imaplib.IMAP4.starttls` method."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1702
|
||
msgid "(Contributed by Lorenzo M. Catucci and Antoine Pitrou, :issue:`4471`.)"
|
||
msgstr ""
|
||
"(Contribution par Lorenzo M. Catucci et Antoine Pitrou; :issue:`4471`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1705
|
||
msgid "http.client"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1707
|
||
msgid ""
|
||
"There were a number of small API improvements in the :mod:`http.client` "
|
||
"module. The old-style HTTP 0.9 simple responses are no longer supported and "
|
||
"the *strict* parameter is deprecated in all classes."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1711
|
||
msgid ""
|
||
"The :class:`~http.client.HTTPConnection` and :class:`~http.client."
|
||
"HTTPSConnection` classes now have a *source_address* parameter for a (host, "
|
||
"port) tuple indicating where the HTTP connection is made from."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1716
|
||
msgid ""
|
||
"Support for certificate checking and HTTPS virtual hosts were added to :"
|
||
"class:`~http.client.HTTPSConnection`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1719
|
||
msgid ""
|
||
"The :meth:`~http.client.HTTPConnection.request` method on connection objects "
|
||
"allowed an optional *body* argument so that a :term:`file object` could be "
|
||
"used to supply the content of the request. Conveniently, the *body* "
|
||
"argument now also accepts an :term:`iterable` object so long as it includes "
|
||
"an explicit ``Content-Length`` header. This extended interface is much more "
|
||
"flexible than before."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1726
|
||
msgid ""
|
||
"To establish an HTTPS connection through a proxy server, there is a new :"
|
||
"meth:`~http.client.HTTPConnection.set_tunnel` method that sets the host and "
|
||
"port for HTTP Connect tunneling."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1730
|
||
msgid ""
|
||
"To match the behavior of :mod:`http.server`, the HTTP client library now "
|
||
"also encodes headers with ISO-8859-1 (Latin-1) encoding. It was already "
|
||
"doing that for incoming headers, so now the behavior is consistent for both "
|
||
"incoming and outgoing traffic. (See work by Armin Ronacher in :issue:"
|
||
"`10980`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1736
|
||
msgid "unittest"
|
||
msgstr "unittest"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1738
|
||
msgid ""
|
||
"The unittest module has a number of improvements supporting test discovery "
|
||
"for packages, easier experimentation at the interactive prompt, new testcase "
|
||
"methods, improved diagnostic messages for test failures, and better method "
|
||
"names."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1743
|
||
msgid ""
|
||
"The command-line call ``python -m unittest`` can now accept file paths "
|
||
"instead of module names for running specific tests (:issue:`10620`). The "
|
||
"new test discovery can find tests within packages, locating any test "
|
||
"importable from the top-level directory. The top-level directory can be "
|
||
"specified with the `-t` option, a pattern for matching files with ``-p``, "
|
||
"and a directory to start discovery with ``-s``:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1754 ../Doc/whatsnew/3.2.rst:1763
|
||
#: ../Doc/whatsnew/3.2.rst:1919
|
||
msgid "(Contributed by Michael Foord.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1756
|
||
msgid ""
|
||
"Experimentation at the interactive prompt is now easier because the :class:"
|
||
"`unittest.case.TestCase` class can now be instantiated without arguments:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1765
|
||
msgid ""
|
||
"The :mod:`unittest` module has two new methods, :meth:`~unittest.TestCase."
|
||
"assertWarns` and :meth:`~unittest.TestCase.assertWarnsRegex` to verify that "
|
||
"a given warning type is triggered by the code under test::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1773
|
||
msgid "(Contributed by Antoine Pitrou, :issue:`9754`.)"
|
||
msgstr "(Contribution par Antoine Pitrou; :issue:`9754`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1775
|
||
msgid ""
|
||
"Another new method, :meth:`~unittest.TestCase.assertCountEqual` is used to "
|
||
"compare two iterables to determine if their element counts are equal "
|
||
"(whether the same elements are present with the same number of occurrences "
|
||
"regardless of order)::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1785
|
||
msgid ""
|
||
"A principal feature of the unittest module is an effort to produce "
|
||
"meaningful diagnostics when a test fails. When possible, the failure is "
|
||
"recorded along with a diff of the output. This is especially helpful for "
|
||
"analyzing log files of failed test runs. However, since diffs can sometime "
|
||
"be voluminous, there is a new :attr:`~unittest.TestCase.maxDiff` attribute "
|
||
"that sets maximum length of diffs displayed."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1792
|
||
msgid ""
|
||
"In addition, the method names in the module have undergone a number of clean-"
|
||
"ups."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1794
|
||
msgid ""
|
||
"For example, :meth:`~unittest.TestCase.assertRegex` is the new name for :"
|
||
"meth:`~unittest.TestCase.assertRegexpMatches` which was misnamed because the "
|
||
"test uses :func:`re.search`, not :func:`re.match`. Other methods using "
|
||
"regular expressions are now named using short form \"Regex\" in preference "
|
||
"to \"Regexp\" -- this matches the names used in other unittest "
|
||
"implementations, matches Python's old name for the :mod:`re` module, and it "
|
||
"has unambiguous camel-casing."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1802
|
||
msgid "(Contributed by Raymond Hettinger and implemented by Ezio Melotti.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1804
|
||
msgid ""
|
||
"To improve consistency, some long-standing method aliases are being "
|
||
"deprecated in favor of the preferred names:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1808
|
||
msgid "Old Name"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1808
|
||
msgid "Preferred Name"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1810
|
||
msgid ":meth:`assert_`"
|
||
msgstr ":meth:`assert_`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1810
|
||
msgid ":meth:`.assertTrue`"
|
||
msgstr ":meth:`.assertTrue`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1811
|
||
msgid ":meth:`assertEquals`"
|
||
msgstr ":meth:`assertEquals`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1811
|
||
msgid ":meth:`.assertEqual`"
|
||
msgstr ":meth:`.assertEqual`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1812
|
||
msgid ":meth:`assertNotEquals`"
|
||
msgstr ":meth:`assertNotEquals`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1812
|
||
msgid ":meth:`.assertNotEqual`"
|
||
msgstr ":meth:`.assertNotEqual`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1813
|
||
msgid ":meth:`assertAlmostEquals`"
|
||
msgstr ":meth:`assertAlmostEquals`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1813
|
||
msgid ":meth:`.assertAlmostEqual`"
|
||
msgstr ":meth:`.assertAlmostEqual`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1814
|
||
msgid ":meth:`assertNotAlmostEquals`"
|
||
msgstr ":meth:`assertNotAlmostEquals`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1814
|
||
msgid ":meth:`.assertNotAlmostEqual`"
|
||
msgstr ":meth:`.assertNotAlmostEqual`"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1817
|
||
msgid ""
|
||
"Likewise, the ``TestCase.fail*`` methods deprecated in Python 3.1 are "
|
||
"expected to be removed in Python 3.3. Also see the :ref:`deprecated-"
|
||
"aliases` section in the :mod:`unittest` documentation."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1821
|
||
msgid "(Contributed by Ezio Melotti; :issue:`9424`.)"
|
||
msgstr "(Contribution par Ezio Melotti; :issue:`9424`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1823
|
||
msgid ""
|
||
"The :meth:`~unittest.TestCase.assertDictContainsSubset` method was "
|
||
"deprecated because it was misimplemented with the arguments in the wrong "
|
||
"order. This created hard-to-debug optical illusions where tests like "
|
||
"``TestCase().assertDictContainsSubset({'a':1, 'b':2}, {'a':1})`` would fail."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1831
|
||
msgid "random"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1833
|
||
msgid ""
|
||
"The integer methods in the :mod:`random` module now do a better job of "
|
||
"producing uniform distributions. Previously, they computed selections with "
|
||
"``int(n*random())`` which had a slight bias whenever *n* was not a power of "
|
||
"two. Now, multiple selections are made from a range up to the next power of "
|
||
"two and a selection is kept only when it falls within the range ``0 <= x < "
|
||
"n``. The functions and methods affected are :func:`~random.randrange`, :"
|
||
"func:`~random.randint`, :func:`~random.choice`, :func:`~random.shuffle` and :"
|
||
"func:`~random.sample`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1842
|
||
msgid "(Contributed by Raymond Hettinger; :issue:`9025`.)"
|
||
msgstr "(Contribution par Raymond Hettinger; :issue:`9025`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1845
|
||
msgid "poplib"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1847
|
||
msgid ""
|
||
":class:`~poplib.POP3_SSL` class now accepts a *context* parameter, which is "
|
||
"a :class:`ssl.SSLContext` object allowing bundling SSL configuration "
|
||
"options, certificates and private keys into a single (potentially long-"
|
||
"lived) structure."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1852
|
||
msgid "(Contributed by Giampaolo Rodolà; :issue:`8807`.)"
|
||
msgstr "(Contribution par Giampaolo Rodolà; :issue:`8807`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1855
|
||
msgid "asyncore"
|
||
msgstr "asyncore"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1857
|
||
msgid ""
|
||
":class:`asyncore.dispatcher` now provides a :meth:`~asyncore.dispatcher."
|
||
"handle_accepted()` method returning a `(sock, addr)` pair which is called "
|
||
"when a connection has actually been established with a new remote endpoint. "
|
||
"This is supposed to be used as a replacement for old :meth:`~asyncore."
|
||
"dispatcher.handle_accept()` and avoids the user to call :meth:`~asyncore."
|
||
"dispatcher.accept()` directly."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1864
|
||
msgid "(Contributed by Giampaolo Rodolà; :issue:`6706`.)"
|
||
msgstr "(Contribution par Giampaolo Rodolà; :issue:`6706`)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1867
|
||
msgid "tempfile"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1869
|
||
msgid ""
|
||
"The :mod:`tempfile` module has a new context manager, :class:`~tempfile."
|
||
"TemporaryDirectory` which provides easy deterministic cleanup of temporary "
|
||
"directories::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1876
|
||
msgid "(Contributed by Neil Schemenauer and Nick Coghlan; :issue:`5178`.)"
|
||
msgstr "(Contribution par Neil Schemenauer et Nick Coghlan; :issue:`5178`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1879
|
||
msgid "inspect"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1881
|
||
msgid ""
|
||
"The :mod:`inspect` module has a new function :func:`~inspect."
|
||
"getgeneratorstate` to easily identify the current state of a generator-"
|
||
"iterator::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1899
|
||
msgid "(Contributed by Rodolpho Eckhardt and Nick Coghlan, :issue:`10220`.)"
|
||
msgstr "(Contribution par Rodolpho Eckhardt et Nick Coghlan; :issue:`10220`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1901
|
||
msgid ""
|
||
"To support lookups without the possibility of activating a dynamic "
|
||
"attribute, the :mod:`inspect` module has a new function, :func:`~inspect."
|
||
"getattr_static`. Unlike :func:`hasattr`, this is a true read-only search, "
|
||
"guaranteed not to change state while it is searching::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1922
|
||
msgid "pydoc"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1924
|
||
msgid ""
|
||
"The :mod:`pydoc` module now provides a much-improved Web server interface, "
|
||
"as well as a new command-line option ``-b`` to automatically open a browser "
|
||
"window to display that server:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1932
|
||
msgid "(Contributed by Ron Adam; :issue:`2001`.)"
|
||
msgstr "(Contribution par Ron Adam; :issue:`2001`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1935
|
||
msgid "dis"
|
||
msgstr "dis"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1937
|
||
msgid ""
|
||
"The :mod:`dis` module gained two new functions for inspecting code, :func:"
|
||
"`~dis.code_info` and :func:`~dis.show_code`. Both provide detailed code "
|
||
"object information for the supplied function, method, source code string or "
|
||
"code object. The former returns a string and the latter prints it::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1964
|
||
msgid ""
|
||
"In addition, the :func:`~dis.dis` function now accepts string arguments so "
|
||
"that the common idiom ``dis(compile(s, '', 'eval'))`` can be shortened to "
|
||
"``dis(s)``::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1986
|
||
msgid ""
|
||
"Taken together, these improvements make it easier to explore how CPython is "
|
||
"implemented and to see for yourself what the language syntax does under-the-"
|
||
"hood."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1990
|
||
msgid "(Contributed by Nick Coghlan in :issue:`9147`.)"
|
||
msgstr "(Contribution par Nick Coghlan; :issue:`9147`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1993
|
||
msgid "dbm"
|
||
msgstr "dbm"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1995
|
||
msgid ""
|
||
"All database modules now support the :meth:`get` and :meth:`setdefault` "
|
||
"methods."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:1997
|
||
msgid "(Suggested by Ray Allen in :issue:`9523`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2000
|
||
msgid "ctypes"
|
||
msgstr "ctypes"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2002
|
||
msgid ""
|
||
"A new type, :class:`ctypes.c_ssize_t` represents the C :c:type:`ssize_t` "
|
||
"datatype."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2005
|
||
msgid "site"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2007
|
||
msgid ""
|
||
"The :mod:`site` module has three new functions useful for reporting on the "
|
||
"details of a given Python installation."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2010
|
||
msgid ""
|
||
":func:`~site.getsitepackages` lists all global site-packages directories."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2012
|
||
msgid ""
|
||
":func:`~site.getuserbase` reports on the user's base directory where data "
|
||
"can be stored."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2015
|
||
msgid ""
|
||
":func:`~site.getusersitepackages` reveals the user-specific site-packages "
|
||
"directory path."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2030
|
||
msgid ""
|
||
"Conveniently, some of site's functionality is accessible directly from the "
|
||
"command-line:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2040
|
||
msgid "(Contributed by Tarek Ziadé in :issue:`6693`.)"
|
||
msgstr "(Contribution par Tarek Ziadé; :issue:`6693`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2043
|
||
msgid "sysconfig"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2045
|
||
msgid ""
|
||
"The new :mod:`sysconfig` module makes it straightforward to discover "
|
||
"installation paths and configuration variables that vary across platforms "
|
||
"and installations."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2049
|
||
msgid ""
|
||
"The module offers access simple access functions for platform and version "
|
||
"information:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2052
|
||
msgid ""
|
||
":func:`~sysconfig.get_platform` returning values like *linux-i586* or "
|
||
"*macosx-10.6-ppc*."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2054
|
||
msgid ""
|
||
":func:`~sysconfig.get_python_version` returns a Python version string such "
|
||
"as \"3.2\"."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2057
|
||
msgid ""
|
||
"It also provides access to the paths and variables corresponding to one of "
|
||
"seven named schemes used by :mod:`distutils`. Those include *posix_prefix*, "
|
||
"*posix_home*, *posix_user*, *nt*, *nt_user*, *os2*, *os2_home*:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2061
|
||
msgid ""
|
||
":func:`~sysconfig.get_paths` makes a dictionary containing installation "
|
||
"paths for the current installation scheme."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2063
|
||
msgid ""
|
||
":func:`~sysconfig.get_config_vars` returns a dictionary of platform specific "
|
||
"variables."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2066
|
||
msgid "There is also a convenient command-line interface:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2105
|
||
msgid "(Moved out of Distutils by Tarek Ziadé.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2108
|
||
msgid "pdb"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2110
|
||
msgid ""
|
||
"The :mod:`pdb` debugger module gained a number of usability improvements:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2112
|
||
msgid ""
|
||
":file:`pdb.py` now has a ``-c`` option that executes commands as given in a :"
|
||
"file:`.pdbrc` script file."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2114
|
||
msgid ""
|
||
"A :file:`.pdbrc` script file can contain ``continue`` and ``next`` commands "
|
||
"that continue debugging."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2116
|
||
msgid "The :class:`Pdb` class constructor now accepts a *nosigint* argument."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2117
|
||
msgid ""
|
||
"New commands: ``l(list)``, ``ll(long list)`` and ``source`` for listing "
|
||
"source code."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2119
|
||
msgid ""
|
||
"New commands: ``display`` and ``undisplay`` for showing or hiding the value "
|
||
"of an expression if it has changed."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2121
|
||
msgid ""
|
||
"New command: ``interact`` for starting an interactive interpreter containing "
|
||
"the global and local names found in the current scope."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2123
|
||
msgid "Breakpoints can be cleared by breakpoint number."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2125
|
||
msgid "(Contributed by Georg Brandl, Antonio Cuni and Ilya Sandler.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2128
|
||
msgid "configparser"
|
||
msgstr "configparser"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2130
|
||
msgid ""
|
||
"The :mod:`configparser` module was modified to improve usability and "
|
||
"predictability of the default parser and its supported INI syntax. The old :"
|
||
"class:`ConfigParser` class was removed in favor of :class:`SafeConfigParser` "
|
||
"which has in turn been renamed to :class:`~configparser.ConfigParser`. "
|
||
"Support for inline comments is now turned off by default and section or "
|
||
"option duplicates are not allowed in a single configuration source."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2137
|
||
msgid "Config parsers gained a new API based on the mapping protocol::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2165
|
||
msgid ""
|
||
"The new API is implemented on top of the classical API, so custom parser "
|
||
"subclasses should be able to use it without modifications."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2168
|
||
msgid ""
|
||
"The INI file structure accepted by config parsers can now be customized. "
|
||
"Users can specify alternative option/value delimiters and comment prefixes, "
|
||
"change the name of the *DEFAULT* section or switch the interpolation syntax."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2172
|
||
msgid ""
|
||
"There is support for pluggable interpolation including an additional "
|
||
"interpolation handler :class:`~configparser.ExtendedInterpolation`::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2205
|
||
msgid ""
|
||
"A number of smaller features were also introduced, like support for "
|
||
"specifying encoding in read operations, specifying fallback values for get-"
|
||
"functions, or reading directly from dictionaries and strings."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2209
|
||
msgid "(All changes contributed by Łukasz Langa.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2214
|
||
msgid "urllib.parse"
|
||
msgstr "urllib.parse"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2216
|
||
msgid ""
|
||
"A number of usability improvements were made for the :mod:`urllib.parse` "
|
||
"module."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2218
|
||
msgid ""
|
||
"The :func:`~urllib.parse.urlparse` function now supports `IPv6 <https://en."
|
||
"wikipedia.org/wiki/IPv6>`_ addresses as described in :rfc:`2732`:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2230
|
||
msgid ""
|
||
"The :func:`~urllib.parse.urldefrag` function now returns a :term:`named "
|
||
"tuple`::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2240
|
||
msgid ""
|
||
"And, the :func:`~urllib.parse.urlencode` function is now much more flexible, "
|
||
"accepting either a string or bytes type for the *query* argument. If it is "
|
||
"a string, then the *safe*, *encoding*, and *error* parameters are sent to :"
|
||
"func:`~urllib.parse.quote_plus` for encoding::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2251
|
||
msgid ""
|
||
"As detailed in :ref:`parsing-ascii-encoded-bytes`, all the :mod:`urllib."
|
||
"parse` functions now accept ASCII-encoded byte strings as input, so long as "
|
||
"they are not mixed with regular strings. If ASCII-encoded byte strings are "
|
||
"given as parameters, the return types will also be an ASCII-encoded byte "
|
||
"strings:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2260
|
||
msgid ""
|
||
"(Work by Nick Coghlan, Dan Mahn, and Senthil Kumaran in :issue:`2987`, :"
|
||
"issue:`5468`, and :issue:`9873`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2264
|
||
msgid "mailbox"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2266
|
||
msgid ""
|
||
"Thanks to a concerted effort by R. David Murray, the :mod:`mailbox` module "
|
||
"has been fixed for Python 3.2. The challenge was that mailbox had been "
|
||
"originally designed with a text interface, but email messages are best "
|
||
"represented with :class:`bytes` because various parts of a message may have "
|
||
"different encodings."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2271
|
||
msgid ""
|
||
"The solution harnessed the :mod:`email` package's binary support for parsing "
|
||
"arbitrary email messages. In addition, the solution required a number of "
|
||
"API changes."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2275
|
||
msgid ""
|
||
"As expected, the :meth:`~mailbox.Mailbox.add` method for :class:`mailbox."
|
||
"Mailbox` objects now accepts binary input."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2278
|
||
msgid ""
|
||
":class:`~io.StringIO` and text file input are deprecated. Also, string "
|
||
"input will fail early if non-ASCII characters are used. Previously it would "
|
||
"fail when the email was processed in a later step."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2282
|
||
msgid ""
|
||
"There is also support for binary output. The :meth:`~mailbox.Mailbox."
|
||
"get_file` method now returns a file in the binary mode (where it used to "
|
||
"incorrectly set the file to text-mode). There is also a new :meth:`~mailbox."
|
||
"Mailbox.get_bytes` method that returns a :class:`bytes` representation of a "
|
||
"message corresponding to a given *key*."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2288
|
||
msgid ""
|
||
"It is still possible to get non-binary output using the old API's :meth:"
|
||
"`~mailbox.Mailbox.get_string` method, but that approach is not very useful. "
|
||
"Instead, it is best to extract messages from a :class:`~mailbox.Message` "
|
||
"object or to load them from binary input."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2293
|
||
msgid ""
|
||
"(Contributed by R. David Murray, with efforts from Steffen Daode Nurpmeso "
|
||
"and an initial patch by Victor Stinner in :issue:`9124`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2297
|
||
msgid "turtledemo"
|
||
msgstr "turtledemo"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2299
|
||
msgid ""
|
||
"The demonstration code for the :mod:`turtle` module was moved from the "
|
||
"*Demo* directory to main library. It includes over a dozen sample scripts "
|
||
"with lively displays. Being on :attr:`sys.path`, it can now be run directly "
|
||
"from the command-line:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2308
|
||
msgid ""
|
||
"(Moved from the Demo directory by Alexander Belopolsky in :issue:`10199`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2311
|
||
msgid "Multi-threading"
|
||
msgstr "Fils d'exécution"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2313
|
||
msgid ""
|
||
"The mechanism for serializing execution of concurrently running Python "
|
||
"threads (generally known as the :term:`GIL` or :term:`Global Interpreter "
|
||
"Lock`) has been rewritten. Among the objectives were more predictable "
|
||
"switching intervals and reduced overhead due to lock contention and the "
|
||
"number of ensuing system calls. The notion of a \"check interval\" to allow "
|
||
"thread switches has been abandoned and replaced by an absolute duration "
|
||
"expressed in seconds. This parameter is tunable through :func:`sys."
|
||
"setswitchinterval()`. It currently defaults to 5 milliseconds."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2322
|
||
msgid ""
|
||
"Additional details about the implementation can be read from a `python-dev "
|
||
"mailing-list message <https://mail.python.org/pipermail/python-dev/2009-"
|
||
"October/093321.html>`_ (however, \"priority requests\" as exposed in this "
|
||
"message have not been kept for inclusion)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2328
|
||
msgid "(Contributed by Antoine Pitrou.)"
|
||
msgstr "(Contribution par Antoine Pitrou)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2330
|
||
msgid ""
|
||
"Regular and recursive locks now accept an optional *timeout* argument to "
|
||
"their :meth:`~threading.Lock.acquire` method. (Contributed by Antoine "
|
||
"Pitrou; :issue:`7316`.)"
|
||
msgstr ""
|
||
"Les verrous standards et récursifs acceptent désormais un argument optionnel "
|
||
"*timeout* à leur méthode :meth:`~threading.Lock.acquire`. (Contribution par "
|
||
"Antoine Pitrou; :issue:`7316`)."
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2334
|
||
msgid ""
|
||
"Similarly, :meth:`threading.Semaphore.acquire` also gained a *timeout* "
|
||
"argument. (Contributed by Torsten Landschoff; :issue:`850728`.)"
|
||
msgstr ""
|
||
"Pareillement, :meth:`threading.Semaphore.acquire` acquière un argument "
|
||
"*timeout* (Contribution par Torsten Landschoff; :issue:`850728`)."
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2337
|
||
msgid ""
|
||
"Regular and recursive lock acquisitions can now be interrupted by signals on "
|
||
"platforms using Pthreads. This means that Python programs that deadlock "
|
||
"while acquiring locks can be successfully killed by repeatedly sending "
|
||
"SIGINT to the process (by pressing :kbd:`Ctrl+C` in most shells). "
|
||
"(Contributed by Reid Kleckner; :issue:`8844`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2345
|
||
msgid "Optimizations"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2347
|
||
msgid "A number of small performance enhancements have been added:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2349
|
||
msgid ""
|
||
"Python's peephole optimizer now recognizes patterns such ``x in {1, 2, 3}`` "
|
||
"as being a test for membership in a set of constants. The optimizer recasts "
|
||
"the :class:`set` as a :class:`frozenset` and stores the pre-built constant."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2353
|
||
msgid ""
|
||
"Now that the speed penalty is gone, it is practical to start writing "
|
||
"membership tests using set-notation. This style is both semantically clear "
|
||
"and operationally fast::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2361
|
||
msgid ""
|
||
"(Patch and additional tests contributed by Dave Malcolm; :issue:`6690`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2363
|
||
msgid ""
|
||
"Serializing and unserializing data using the :mod:`pickle` module is now "
|
||
"several times faster."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2366
|
||
msgid ""
|
||
"(Contributed by Alexandre Vassalotti, Antoine Pitrou and the Unladen Swallow "
|
||
"team in :issue:`9410` and :issue:`3873`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2369
|
||
msgid ""
|
||
"The `Timsort algorithm <https://en.wikipedia.org/wiki/Timsort>`_ used in :"
|
||
"meth:`list.sort` and :func:`sorted` now runs faster and uses less memory "
|
||
"when called with a :term:`key function`. Previously, every element of a "
|
||
"list was wrapped with a temporary object that remembered the key value "
|
||
"associated with each element. Now, two arrays of keys and values are sorted "
|
||
"in parallel. This saves the memory consumed by the sort wrappers, and it "
|
||
"saves time lost to delegating comparisons."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2377
|
||
msgid "(Patch by Daniel Stutzbach in :issue:`9915`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2379
|
||
msgid ""
|
||
"JSON decoding performance is improved and memory consumption is reduced "
|
||
"whenever the same string is repeated for multiple keys. Also, JSON encoding "
|
||
"now uses the C speedups when the ``sort_keys`` argument is true."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2383
|
||
msgid ""
|
||
"(Contributed by Antoine Pitrou in :issue:`7451` and by Raymond Hettinger and "
|
||
"Antoine Pitrou in :issue:`10314`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2386
|
||
msgid ""
|
||
"Recursive locks (created with the :func:`threading.RLock` API) now benefit "
|
||
"from a C implementation which makes them as fast as regular locks, and "
|
||
"between 10x and 15x faster than their previous pure Python implementation."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2390
|
||
msgid "(Contributed by Antoine Pitrou; :issue:`3001`.)"
|
||
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2392
|
||
msgid ""
|
||
"The fast-search algorithm in stringlib is now used by the :meth:`split`, :"
|
||
"meth:`rsplit`, :meth:`splitlines` and :meth:`replace` methods on :class:"
|
||
"`bytes`, :class:`bytearray` and :class:`str` objects. Likewise, the "
|
||
"algorithm is also used by :meth:`rfind`, :meth:`rindex`, :meth:`rsplit` and :"
|
||
"meth:`rpartition`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2398
|
||
msgid "(Patch by Florent Xicluna in :issue:`7622` and :issue:`7462`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2401
|
||
msgid ""
|
||
"Integer to string conversions now work two \"digits\" at a time, reducing "
|
||
"the number of division and modulo operations."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2404
|
||
msgid "(:issue:`6713` by Gawain Bolton, Mark Dickinson, and Victor Stinner.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2406
|
||
msgid ""
|
||
"There were several other minor optimizations. Set differencing now runs "
|
||
"faster when one operand is much larger than the other (patch by Andress "
|
||
"Bennetts in :issue:`8685`). The :meth:`array.repeat` method has a faster "
|
||
"implementation (:issue:`1569291` by Alexander Belopolsky). The :class:"
|
||
"`BaseHTTPRequestHandler` has more efficient buffering (:issue:`3709` by "
|
||
"Andrew Schaaf). The :func:`operator.attrgetter` function has been sped-up (:"
|
||
"issue:`10160` by Christos Georgiou). And :class:`ConfigParser` loads multi-"
|
||
"line arguments a bit faster (:issue:`7113` by Łukasz Langa)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2417
|
||
msgid "Unicode"
|
||
msgstr "Unicode"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2419
|
||
msgid ""
|
||
"Python has been updated to `Unicode 6.0.0 <http://unicode.org/versions/"
|
||
"Unicode6.0.0/>`_. The update to the standard adds over 2,000 new characters "
|
||
"including `emoji <https://en.wikipedia.org/wiki/Emoji>`_ symbols which are "
|
||
"important for mobile phones."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2424
|
||
msgid ""
|
||
"In addition, the updated standard has altered the character properties for "
|
||
"two Kannada characters (U+0CF1, U+0CF2) and one New Tai Lue numeric "
|
||
"character (U+19DA), making the former eligible for use in identifiers while "
|
||
"disqualifying the latter. For more information, see `Unicode Character "
|
||
"Database Changes <http://www.unicode.org/versions/Unicode6.0.0/"
|
||
"#Database_Changes>`_."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2432
|
||
msgid "Codecs"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2434
|
||
msgid "Support was added for *cp720* Arabic DOS encoding (:issue:`1616979`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2436
|
||
msgid ""
|
||
"MBCS encoding no longer ignores the error handler argument. In the default "
|
||
"strict mode, it raises an :exc:`UnicodeDecodeError` when it encounters an "
|
||
"undecodable byte sequence and an :exc:`UnicodeEncodeError` for an "
|
||
"unencodable character."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2441
|
||
msgid ""
|
||
"The MBCS codec supports ``'strict'`` and ``'ignore'`` error handlers for "
|
||
"decoding, and ``'strict'`` and ``'replace'`` for encoding."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2444
|
||
msgid ""
|
||
"To emulate Python3.1 MBCS encoding, select the ``'ignore'`` handler for "
|
||
"decoding and the ``'replace'`` handler for encoding."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2447
|
||
msgid ""
|
||
"On Mac OS X, Python decodes command line arguments with ``'utf-8'`` rather "
|
||
"than the locale encoding."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2450
|
||
msgid ""
|
||
"By default, :mod:`tarfile` uses ``'utf-8'`` encoding on Windows (instead of "
|
||
"``'mbcs'``) and the ``'surrogateescape'`` error handler on all operating "
|
||
"systems."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2456
|
||
msgid "Documentation"
|
||
msgstr "Documentation"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2458
|
||
msgid "The documentation continues to be improved."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2460
|
||
msgid ""
|
||
"A table of quick links has been added to the top of lengthy sections such "
|
||
"as :ref:`built-in-funcs`. In the case of :mod:`itertools`, the links are "
|
||
"accompanied by tables of cheatsheet-style summaries to provide an overview "
|
||
"and memory jog without having to read all of the docs."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2465
|
||
msgid ""
|
||
"In some cases, the pure Python source code can be a helpful adjunct to the "
|
||
"documentation, so now many modules now feature quick links to the latest "
|
||
"version of the source code. For example, the :mod:`functools` module "
|
||
"documentation has a quick link at the top labeled:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2470
|
||
msgid "**Source code** :source:`Lib/functools.py`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2472
|
||
msgid ""
|
||
"(Contributed by Raymond Hettinger; see `rationale <https://rhettinger."
|
||
"wordpress.com/2011/01/28/open-your-source-more/>`_.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2475
|
||
msgid ""
|
||
"The docs now contain more examples and recipes. In particular, :mod:`re` "
|
||
"module has an extensive section, :ref:`re-examples`. Likewise, the :mod:"
|
||
"`itertools` module continues to be updated with new :ref:`itertools-recipes`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2480
|
||
msgid ""
|
||
"The :mod:`datetime` module now has an auxiliary implementation in pure "
|
||
"Python. No functionality was changed. This just provides an easier-to-read "
|
||
"alternate implementation."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2484
|
||
msgid "(Contributed by Alexander Belopolsky in :issue:`9528`.)"
|
||
msgstr "(Contribution par Alexander Belopolsky; :issue:`9528`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2486
|
||
msgid ""
|
||
"The unmaintained :file:`Demo` directory has been removed. Some demos were "
|
||
"integrated into the documentation, some were moved to the :file:`Tools/demo` "
|
||
"directory, and others were removed altogether."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2490
|
||
msgid "(Contributed by Georg Brandl in :issue:`7962`.)"
|
||
msgstr "(Contribution par Georg Brandl; :issue:`7962`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2494
|
||
msgid "IDLE"
|
||
msgstr "IDLE"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2496
|
||
msgid ""
|
||
"The format menu now has an option to clean source files by stripping "
|
||
"trailing whitespace."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2499
|
||
msgid "(Contributed by Raymond Hettinger; :issue:`5150`.)"
|
||
msgstr "(Contribution par Raymond Hettinger; :issue:`5150`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2501
|
||
msgid "IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2503
|
||
msgid ""
|
||
"(Contributed by Kevin Walzer, Ned Deily, and Ronald Oussoren; :issue:`6075`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2506
|
||
msgid "Code Repository"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2508
|
||
msgid ""
|
||
"In addition to the existing Subversion code repository at http://svn.python."
|
||
"org there is now a `Mercurial <https://www.mercurial-scm.org/>`_ repository "
|
||
"at https://hg.python.org/\\ ."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2512
|
||
msgid ""
|
||
"After the 3.2 release, there are plans to switch to Mercurial as the primary "
|
||
"repository. This distributed version control system should make it easier "
|
||
"for members of the community to create and share external changesets. See :"
|
||
"pep:`385` for details."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2517
|
||
msgid ""
|
||
"To learn to use the new version control system, see the `Quick Start "
|
||
"<https://www.mercurial-scm.org/wiki/QuickStart>`_ or the `Guide to Mercurial "
|
||
"Workflows <https://www.mercurial-scm.org/guide>`_."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2523
|
||
msgid "Build and C API Changes"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2525
|
||
msgid "Changes to Python's build process and to the C API include:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2527
|
||
msgid ""
|
||
"The *idle*, *pydoc* and *2to3* scripts are now installed with a version-"
|
||
"specific suffix on ``make altinstall`` (:issue:`10679`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2530
|
||
msgid ""
|
||
"The C functions that access the Unicode Database now accept and return "
|
||
"characters from the full Unicode range, even on narrow unicode builds "
|
||
"(Py_UNICODE_TOLOWER, Py_UNICODE_ISDECIMAL, and others). A visible "
|
||
"difference in Python is that :func:`unicodedata.numeric` now returns the "
|
||
"correct value for large code points, and :func:`repr` may consider more "
|
||
"characters as printable."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2537
|
||
msgid ""
|
||
"(Reported by Bupjoe Lee and fixed by Amaury Forgeot D'Arc; :issue:`5127`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2539
|
||
msgid ""
|
||
"Computed gotos are now enabled by default on supported compilers (which are "
|
||
"detected by the configure script). They can still be disabled selectively "
|
||
"by specifying ``--without-computed-gotos``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2543
|
||
msgid "(Contributed by Antoine Pitrou; :issue:`9203`.)"
|
||
msgstr "(Contribution par Antoine Pitrou; :issue:`9203`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2545
|
||
msgid ""
|
||
"The option ``--with-wctype-functions`` was removed. The built-in unicode "
|
||
"database is now used for all functions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2548
|
||
msgid "(Contributed by Amaury Forgeot D'Arc; :issue:`9210`.)"
|
||
msgstr "(Contribution par Amaury Forgeot D'Arc; :issue:`9210`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2550
|
||
msgid ""
|
||
"Hash values are now values of a new type, :c:type:`Py_hash_t`, which is "
|
||
"defined to be the same size as a pointer. Previously they were of type "
|
||
"long, which on some 64-bit operating systems is still only 32 bits long. As "
|
||
"a result of this fix, :class:`set` and :class:`dict` can now hold more than "
|
||
"``2**32`` entries on builds with 64-bit pointers (previously, they could "
|
||
"grow to that size but their performance degraded catastrophically)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2557
|
||
msgid ""
|
||
"(Suggested by Raymond Hettinger and implemented by Benjamin Peterson; :issue:"
|
||
"`9778`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2560
|
||
msgid ""
|
||
"A new macro :c:macro:`Py_VA_COPY` copies the state of the variable argument "
|
||
"list. It is equivalent to C99 *va_copy* but available on all Python "
|
||
"platforms (:issue:`2443`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2564
|
||
msgid ""
|
||
"A new C API function :c:func:`PySys_SetArgvEx` allows an embedded "
|
||
"interpreter to set :attr:`sys.argv` without also modifying :attr:`sys.path` "
|
||
"(:issue:`5753`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2568
|
||
msgid ""
|
||
":c:macro:`PyEval_CallObject` is now only available in macro form. The "
|
||
"function declaration, which was kept for backwards compatibility reasons, is "
|
||
"now removed -- the macro was introduced in 1997 (:issue:`8276`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2572
|
||
msgid ""
|
||
"There is a new function :c:func:`PyLong_AsLongLongAndOverflow` which is "
|
||
"analogous to :c:func:`PyLong_AsLongAndOverflow`. They both serve to convert "
|
||
"Python :class:`int` into a native fixed-width type while providing detection "
|
||
"of cases where the conversion won't fit (:issue:`7767`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2577
|
||
msgid ""
|
||
"The :c:func:`PyUnicode_CompareWithASCIIString` function now returns *not "
|
||
"equal* if the Python string is *NUL* terminated."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2580
|
||
msgid ""
|
||
"There is a new function :c:func:`PyErr_NewExceptionWithDoc` that is like :c:"
|
||
"func:`PyErr_NewException` but allows a docstring to be specified. This lets "
|
||
"C exceptions have the same self-documenting capabilities as their pure "
|
||
"Python counterparts (:issue:`7033`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2585
|
||
msgid ""
|
||
"When compiled with the ``--with-valgrind`` option, the pymalloc allocator "
|
||
"will be automatically disabled when running under Valgrind. This gives "
|
||
"improved memory leak detection when running under Valgrind, while taking "
|
||
"advantage of pymalloc at other times (:issue:`2422`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2590
|
||
msgid ""
|
||
"Removed the ``O?`` format from the *PyArg_Parse* functions. The format is "
|
||
"no longer used and it had never been documented (:issue:`8837`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2593
|
||
msgid ""
|
||
"There were a number of other small changes to the C-API. See the :source:"
|
||
"`Misc/NEWS` file for a complete list."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2596
|
||
msgid ""
|
||
"Also, there were a number of updates to the Mac OS X build, see :source:`Mac/"
|
||
"BuildScript/README.txt` for details. For users running a 32/64-bit build, "
|
||
"there is a known problem with the default Tcl/Tk on Mac OS X 10.6. "
|
||
"Accordingly, we recommend installing an updated alternative such as "
|
||
"`ActiveState Tcl/Tk 8.5.9 <https://www.activestate.com/activetcl/downloads>`_"
|
||
"\\. See https://www.python.org/download/mac/tcltk/ for additional details."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2604
|
||
msgid "Porting to Python 3.2"
|
||
msgstr "Portage vers Python 3.2"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2606
|
||
msgid ""
|
||
"This section lists previously described changes and other bugfixes that may "
|
||
"require changes to your code:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2609
|
||
msgid ""
|
||
"The :mod:`configparser` module has a number of clean-ups. The major change "
|
||
"is to replace the old :class:`ConfigParser` class with long-standing "
|
||
"preferred alternative :class:`SafeConfigParser`. In addition there are a "
|
||
"number of smaller incompatibilities:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2614
|
||
msgid ""
|
||
"The interpolation syntax is now validated on :meth:`~configparser."
|
||
"ConfigParser.get` and :meth:`~configparser.ConfigParser.set` operations. In "
|
||
"the default interpolation scheme, only two tokens with percent signs are "
|
||
"valid: ``%(name)s`` and ``%%``, the latter being an escaped percent sign."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2620
|
||
msgid ""
|
||
"The :meth:`~configparser.ConfigParser.set` and :meth:`~configparser."
|
||
"ConfigParser.add_section` methods now verify that values are actual "
|
||
"strings. Formerly, unsupported types could be introduced unintentionally."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2625
|
||
msgid ""
|
||
"Duplicate sections or options from a single source now raise either :exc:"
|
||
"`~configparser.DuplicateSectionError` or :exc:`~configparser."
|
||
"DuplicateOptionError`. Formerly, duplicates would silently overwrite a "
|
||
"previous entry."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2630
|
||
msgid ""
|
||
"Inline comments are now disabled by default so now the **;** character can "
|
||
"be safely used in values."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2633
|
||
msgid ""
|
||
"Comments now can be indented. Consequently, for **;** or **#** to appear at "
|
||
"the start of a line in multiline values, it has to be interpolated. This "
|
||
"keeps comment prefix characters in values from being mistaken as comments."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2637
|
||
msgid ""
|
||
"``\"\"`` is now a valid value and is no longer automatically converted to an "
|
||
"empty string. For empty strings, use ``\"option =\"`` in a line."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2640
|
||
msgid ""
|
||
"The :mod:`nntplib` module was reworked extensively, meaning that its APIs "
|
||
"are often incompatible with the 3.1 APIs."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2643
|
||
msgid ""
|
||
":class:`bytearray` objects can no longer be used as filenames; instead, they "
|
||
"should be converted to :class:`bytes`."
|
||
msgstr ""
|
||
"Les objets :class:`bytearray` ne peuvent plus être utilisés en tant que nom "
|
||
"de fichiers : ils doivent être convertis en :class:`bytes` à la place."
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2646
|
||
msgid ""
|
||
"The :meth:`array.tostring` and :meth:`array.fromstring` have been renamed "
|
||
"to :meth:`array.tobytes` and :meth:`array.frombytes` for clarity. The old "
|
||
"names have been deprecated. (See :issue:`8990`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2650
|
||
msgid "``PyArg_Parse*()`` functions:"
|
||
msgstr "Les fonctions ``PyArg_Parse*()`` :"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2652
|
||
msgid "\"t#\" format has been removed: use \"s#\" or \"s*\" instead"
|
||
msgstr "Le format \"t#\" a été supprimé : utiliser \"s#\" ou \"s*\" à la place"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2653
|
||
msgid "\"w\" and \"w#\" formats has been removed: use \"w*\" instead"
|
||
msgstr ""
|
||
"Les formats \"w\" et \"w#\" ont été supprimés : utiliser \"w*\" à la place"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2655
|
||
msgid ""
|
||
"The :c:type:`PyCObject` type, deprecated in 3.1, has been removed. To wrap "
|
||
"opaque C pointers in Python objects, the :c:type:`PyCapsule` API should be "
|
||
"used instead; the new type has a well-defined interface for passing typing "
|
||
"safety information and a less complicated signature for calling a destructor."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2660
|
||
msgid ""
|
||
"The :func:`sys.setfilesystemencoding` function was removed because it had a "
|
||
"flawed design."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2663
|
||
msgid ""
|
||
"The :func:`random.seed` function and method now salt string seeds with an "
|
||
"sha512 hash function. To access the previous version of *seed* in order to "
|
||
"reproduce Python 3.1 sequences, set the *version* argument to *1*, ``random."
|
||
"seed(s, version=1)``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2668
|
||
msgid ""
|
||
"The previously deprecated :func:`string.maketrans` function has been removed "
|
||
"in favor of the static methods :meth:`bytes.maketrans` and :meth:`bytearray."
|
||
"maketrans`. This change solves the confusion around which types were "
|
||
"supported by the :mod:`string` module. Now, :class:`str`, :class:`bytes`, "
|
||
"and :class:`bytearray` each have their own **maketrans** and **translate** "
|
||
"methods with intermediate translation tables of the appropriate type."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2676
|
||
msgid "(Contributed by Georg Brandl; :issue:`5675`.)"
|
||
msgstr "(Contribution par Georg Brandl; :issue:`5675`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2678
|
||
msgid ""
|
||
"The previously deprecated :func:`contextlib.nested` function has been "
|
||
"removed in favor of a plain :keyword:`with` statement which can accept "
|
||
"multiple context managers. The latter technique is faster (because it is "
|
||
"built-in), and it does a better job finalizing multiple context managers "
|
||
"when one of them raises an exception::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2689
|
||
msgid ""
|
||
"(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 "
|
||
"<https://codereview.appspot.com/53094>`_.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2692
|
||
msgid ""
|
||
":func:`struct.pack` now only allows bytes for the ``s`` string pack code. "
|
||
"Formerly, it would accept text arguments and implicitly encode them to bytes "
|
||
"using UTF-8. This was problematic because it made assumptions about the "
|
||
"correct encoding and because a variable-length encoding can fail when "
|
||
"writing to fixed length segment of a structure."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2698
|
||
msgid ""
|
||
"Code such as ``struct.pack('<6sHHBBB', 'GIF87a', x, y)`` should be rewritten "
|
||
"with to use bytes instead of text, ``struct.pack('<6sHHBBB', b'GIF87a', x, "
|
||
"y)``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2701
|
||
msgid ""
|
||
"(Discovered by David Beazley and fixed by Victor Stinner; :issue:`10783`.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2703
|
||
msgid ""
|
||
"The :class:`xml.etree.ElementTree` class now raises an :exc:`xml.etree."
|
||
"ElementTree.ParseError` when a parse fails. Previously it raised an :exc:"
|
||
"`xml.parsers.expat.ExpatError`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2707
|
||
msgid ""
|
||
"The new, longer :func:`str` value on floats may break doctests which rely on "
|
||
"the old output format."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2710
|
||
msgid ""
|
||
"In :class:`subprocess.Popen`, the default value for *close_fds* is now "
|
||
"``True`` under Unix; under Windows, it is ``True`` if the three standard "
|
||
"streams are set to ``None``, ``False`` otherwise. Previously, *close_fds* "
|
||
"was always ``False`` by default, which produced difficult to solve bugs or "
|
||
"race conditions when open file descriptors would leak into the child process."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2717
|
||
msgid ""
|
||
"Support for legacy HTTP 0.9 has been removed from :mod:`urllib.request` and :"
|
||
"mod:`http.client`. Such support is still present on the server side (in :"
|
||
"mod:`http.server`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2721
|
||
msgid "(Contributed by Antoine Pitrou, :issue:`10711`.)"
|
||
msgstr "(Contribution par Antoine Pitrou; :issue:`10711`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2723
|
||
msgid ""
|
||
"SSL sockets in timeout mode now raise :exc:`socket.timeout` when a timeout "
|
||
"occurs, rather than a generic :exc:`~ssl.SSLError`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2726
|
||
msgid "(Contributed by Antoine Pitrou, :issue:`10272`.)"
|
||
msgstr "(Contribution par Antoine Pitrou; :issue:`10272`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2728
|
||
msgid ""
|
||
"The misleading functions :c:func:`PyEval_AcquireLock()` and :c:func:"
|
||
"`PyEval_ReleaseLock()` have been officially deprecated. The thread-state "
|
||
"aware APIs (such as :c:func:`PyEval_SaveThread()` and :c:func:"
|
||
"`PyEval_RestoreThread()`) should be used instead."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2733
|
||
msgid ""
|
||
"Due to security risks, :func:`asyncore.handle_accept` has been deprecated, "
|
||
"and a new function, :func:`asyncore.handle_accepted`, was added to replace "
|
||
"it."
|
||
msgstr ""
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2736
|
||
msgid "(Contributed by Giampaolo Rodola in :issue:`6706`.)"
|
||
msgstr "(Contribution par Giampaolo Rodola; :issue:`6706`.)"
|
||
|
||
#: ../Doc/whatsnew/3.2.rst:2738
|
||
msgid ""
|
||
"Due to the new :term:`GIL` implementation, :c:func:`PyEval_InitThreads()` "
|
||
"cannot be called before :c:func:`Py_Initialize()` anymore."
|
||
msgstr ""
|