>>> parser.parse_args(['-'])
Namespace(infile=<_io.TextIOWrapper name='<stdin>' encoding='UTF-8'>)
- .. versionadded:: 3.4
- The *encodings* and *errors* keyword arguments.
+ .. versionchanged:: 3.4
+ Added the *encodings* and *errors* parameters.
Argument groups
.. versionchanged:: 3.7
Added the *ssl_handshake_timeout* parameter.
- .. versionadded:: 3.8
- Added *happy_eyeballs_delay* and *interleave* parameters.
+ .. versionchanged:: 3.8
+ Added the *happy_eyeballs_delay* and *interleave* parameters.
.. versionchanged:: 3.10
Removed the *loop* parameter.
frame is considered to originate in a certain module is determined
by the ``__name__`` in the frame globals.
- .. versionadded:: 3.1
- The *skip* argument.
+ .. versionchanged:: 3.1
+ Added the *skip* parameter.
The following methods of :class:`Bdb` normally don't need to be overridden.
should be higher than the number of workers
for :class:`ProcessPoolExecutor`.
- .. versionadded:: 3.6
- The *thread_name_prefix* argument was added to allow users to
+ .. versionchanged:: 3.6
+ Added the *thread_name_prefix* parameter to allow users to
control the :class:`threading.Thread` names for worker threads created by
the pool for easier debugging.
config.read(['site.cfg', os.path.expanduser('~/.myapp.cfg')],
encoding='cp1250')
- .. versionadded:: 3.2
- The *encoding* parameter. Previously, all files were read using the
- default encoding for :func:`open`.
+ .. versionchanged:: 3.2
+ Added the *encoding* parameter.
+ Previously, all files were read using the default encoding for :func:`open`.
- .. versionadded:: 3.6.1
+ .. versionchanged:: 3.6.1
The *filenames* parameter accepts a :term:`path-like object`.
- .. versionadded:: 3.7
+ .. versionchanged:: 3.7
The *filenames* parameter accepts a :class:`bytes` object.
that is already present or in strict parsers when a section if found more
than once in a single input file, string or dictionary.
- .. versionadded:: 3.2
- Optional ``source`` and ``lineno`` attributes and arguments to
- :meth:`!__init__` were added.
+ .. versionchanged:: 3.2
+ Added the optional *source* and *lineno* attributes and parameters to
+ :meth:`!__init__`.
.. exception:: DuplicateOptionError
If an argument outside those ranges is given, :exc:`ValueError` is raised.
- .. versionadded:: 3.6
- Added the ``fold`` argument.
+ .. versionchanged:: 3.6
+ Added the *fold* parameter.
Other constructors, all class methods:
``tzinfo=None`` can be specified to create a naive datetime from an aware
datetime with no conversion of date and time data.
- .. versionadded:: 3.6
- Added the ``fold`` argument.
+ .. versionchanged:: 3.6
+ Added the *fold* parameter.
.. method:: datetime.astimezone(tz=None)
>>> dt.isoformat(timespec='microseconds')
'2015-01-01T12:30:59.000000'
- .. versionadded:: 3.6
- Added the *timespec* argument.
+ .. versionchanged:: 3.6
+ Added the *timespec* parameter.
.. method:: datetime.__str__()
``tzinfo=None`` can be specified to create a naive :class:`.time` from an
aware :class:`.time`, without conversion of the time data.
- .. versionadded:: 3.6
- Added the ``fold`` argument.
+ .. versionchanged:: 3.6
+ Added the *fold* parameter.
.. method:: time.isoformat(timespec='auto')
>>> dt.isoformat(timespec='auto')
'12:34:56'
- .. versionadded:: 3.6
- Added the *timespec* argument.
+ .. versionchanged:: 3.6
+ Added the *timespec* parameter.
.. method:: time.__str__()
the purpose of sequence matching. This heuristic can be turned off by setting
the ``autojunk`` argument to ``False`` when creating the :class:`SequenceMatcher`.
- .. versionadded:: 3.2
- The *autojunk* parameter.
+ .. versionchanged:: 3.2
+ Added the *autojunk* parameter.
.. class:: Differ
The optional argument *autojunk* can be used to disable the automatic junk
heuristic.
- .. versionadded:: 3.2
- The *autojunk* parameter.
+ .. versionchanged:: 3.2
+ Added the *autojunk* parameter.
SequenceMatcher objects get three data attributes: *bjunk* is the
set of elements of *b* for which *isjunk* is ``True``; *bpopular* is the set of
Default: :const:`False`.
.. versionadded:: 3.5
- The *mangle_from_* parameter.
.. attribute:: message_factory
such as ``sorted(iterable, key=keyfunc, reverse=True)[0]`` and
``heapq.nlargest(1, iterable, key=keyfunc)``.
- .. versionadded:: 3.4
- The *default* keyword-only argument.
+ .. versionchanged:: 3.4
+ Added the *default* keyword-only parameter.
.. versionchanged:: 3.8
The *key* can be ``None``.
such as ``sorted(iterable, key=keyfunc)[0]`` and ``heapq.nsmallest(1,
iterable, key=keyfunc)``.
- .. versionadded:: 3.4
- The *default* keyword-only argument.
+ .. versionchanged:: 3.4
+ Added the *default* keyword-only parameter.
.. versionchanged:: 3.8
The *key* can be ``None``.
In contrast, the tuple arguments ``('answer', Decimal(42))`` and
``('answer', Fraction(42))`` are treated as equivalent.
- The wrapped function is instrumented with a :func:`cache_parameters`
+ The wrapped function is instrumented with a :func:`!cache_parameters`
function that returns a new :class:`dict` showing the values for *maxsize*
and *typed*. This is for information purposes only. Mutating the values
has no effect.
.. versionchanged:: 3.8
Added the *user_function* option.
- .. versionadded:: 3.9
- Added the function :func:`cache_parameters`
+ .. versionchanged:: 3.9
+ Added the function :func:`!cache_parameters`
.. decorator:: total_ordering
:class:`str` or bytes-like object that is not also a file as the
body representation.
- .. versionadded:: 3.2
+ .. versionchanged:: 3.2
*body* can now be an iterable.
.. versionchanged:: 3.6
This is to avoid premature termination of the read of the request by
the target server due to malformed encoding.
- .. versionadded:: 3.6
- Chunked encoding support. The *encode_chunked* parameter was
- added.
+ .. versionchanged:: 3.6
+ Added chunked encoding support and the *encode_chunked* parameter.
.. method:: HTTPConnection.send(data)
or the current directory if *directory* is not provided, directly
mapping the directory structure to HTTP requests.
- .. versionadded:: 3.7
- The *directory* parameter.
+ .. versionchanged:: 3.7
+ Added the *directory* parameter.
.. versionchanged:: 3.9
The *directory* parameter accepts a :term:`path-like object`.
python -m http.server --bind 127.0.0.1
-.. versionadded:: 3.4
- ``--bind`` argument was introduced.
+.. versionchanged:: 3.4
+ Added the ``--bind`` option.
-.. versionadded:: 3.8
- ``--bind`` argument enhanced to support IPv6
+.. versionchanged:: 3.8
+ Support IPv6 in the ``--bind`` option.
By default, the server uses the current directory. The option ``-d/--directory``
specifies a directory to which it should serve the files. For example,
python -m http.server --directory /tmp/
-.. versionadded:: 3.7
- ``--directory`` argument was introduced.
+.. versionchanged:: 3.7
+ Added the ``--directory`` option.
By default, the server is conformant to HTTP/1.0. The option ``-p/--protocol``
specifies the HTTP version to which the server is conformant. For example, the
python -m http.server --protocol HTTP/1.1
-.. versionadded:: 3.11
- ``--protocol`` argument was introduced.
+.. versionchanged:: 3.11
+ Added the ``--protocol`` option.
.. class:: CGIHTTPRequestHandler(request, client_address, server)
implementation. This could allow remote clients connecting to your
server to send nefarious control codes to your terminal.
-.. versionadded:: 3.11.1
+.. versionchanged:: 3.11.1
Control characters are scrubbed in stderr logs.
application (e.g. based on command-line parameters or other aspects
of the runtime environment) before being passed to ``fileConfig``.
- .. versionadded:: 3.10
- The *encoding* parameter is added.
+ .. versionchanged:: 3.10
+ Added the *encoding* parameter.
.. versionchanged:: 3.11.4
An exception will be thrown if the provided file
A timeout can be specified for communication with the SMTP server using the
*timeout* argument.
- .. versionadded:: 3.3
- The *timeout* argument was added.
+ .. versionchanged:: 3.3
+ Added the *timeout* parameter.
.. method:: emit(record)
:meth:`~file.read` and :meth:`~file.write` methods (and many more). To
wrap a file descriptor in a file object, use :func:`fdopen`.
- .. versionadded:: 3.3
- The *dir_fd* argument.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter.
.. versionchanged:: 3.5
If the system call is interrupted and the signal handler does not raise an
.. audit-event:: os.chdir path os.chdir
- .. versionadded:: 3.3
+ .. versionchanged:: 3.3
Added support for specifying *path* as a file descriptor
on some platforms.
.. availability:: Unix, not Emscripten, not WASI.
- .. versionadded:: 3.3
- The *follow_symlinks* argument.
+ .. versionchanged:: 3.3
+ Added the *follow_symlinks* parameter.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. versionchanged:: 3.2
Added Windows support.
- .. versionadded:: 3.3
- Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* arguments.
+ .. versionchanged:: 3.3
+ Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* parameters.
.. versionchanged:: 3.6
Accepts a :term:`path-like object` for *src* and *dst*.
.. audit-event:: os.mkdir path,mode,dir_fd os.mkdir
- .. versionadded:: 3.3
- The *dir_fd* argument.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. audit-event:: os.mkdir path,mode,dir_fd os.makedirs
- .. versionadded:: 3.2
- The *exist_ok* parameter.
+ .. versionchanged:: 3.2
+ Added the *exist_ok* parameter.
.. versionchanged:: 3.4.1
.. availability:: Unix, not Emscripten, not WASI.
- .. versionadded:: 3.3
- The *dir_fd* argument.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. availability:: Unix, not Emscripten, not WASI.
- .. versionadded:: 3.3
- The *dir_fd* argument.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. versionchanged:: 3.2
Added support for Windows 6.0 (Vista) symbolic links.
- .. versionadded:: 3.3
- The *dir_fd* argument.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter.
.. versionchanged:: 3.6
Accepts a :term:`path-like object` on Unix.
.. audit-event:: os.remove path,dir_fd os.remove
- .. versionadded:: 3.3
- The *dir_fd* argument.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. audit-event:: os.rename src,dst,src_dir_fd,dst_dir_fd os.rename
- .. versionadded:: 3.3
- The *src_dir_fd* and *dst_dir_fd* arguments.
+ .. versionchanged:: 3.3
+ Added the *src_dir_fd* and *dst_dir_fd* parameters.
.. versionchanged:: 3.6
Accepts a :term:`path-like object` for *src* and *dst*.
.. audit-event:: os.rmdir path,dir_fd os.rmdir
- .. versionadded:: 3.3
- The *dir_fd* parameter.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. versionadded:: 3.5
- .. versionadded:: 3.6
+ .. versionchanged:: 3.6
Added support for the :term:`context manager` protocol and the
:func:`~scandir.close()` method. If a :func:`scandir` iterator is neither
exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted
:func:`fstat` and :func:`lstat` functions.
- .. versionadded:: 3.3
- Added the *dir_fd* and *follow_symlinks* arguments, specifying a file
- descriptor instead of a path.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* and *follow_symlinks* parameters,
+ specifying a file descriptor instead of a path.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
Time of most recent access expressed in nanoseconds as an integer.
+ .. versionadded: 3.3
+
.. attribute:: st_mtime_ns
Time of most recent content modification expressed in nanoseconds as an
integer.
+ .. versionadded: 3.3
+
.. attribute:: st_ctime_ns
Platform dependent:
* the time of creation on Windows, expressed in nanoseconds as an
integer.
+ .. versionadded: 3.3
+
.. note::
The exact meaning and resolution of the :attr:`st_atime`,
See the :const:`!FILE_ATTRIBUTE_* <stat.FILE_ATTRIBUTE_ARCHIVE>`
constants in the :mod:`stat` module.
+ .. versionadded:: 3.5
+
.. attribute:: st_reparse_tag
When :attr:`st_file_attributes` has the :const:`~stat.FILE_ATTRIBUTE_REPARSE_POINT`
some implementations. For compatibility with older Python versions,
accessing :class:`stat_result` as a tuple always returns integers.
- .. versionadded:: 3.3
- Added the :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and
- :attr:`st_ctime_ns` members.
-
- .. versionadded:: 3.5
- Added the :attr:`st_file_attributes` member on Windows.
-
.. versionchanged:: 3.5
Windows now returns the file index as :attr:`st_ino` when
available.
.. versionchanged:: 3.2
The :const:`ST_RDONLY` and :const:`ST_NOSUID` constants were added.
- .. versionadded:: 3.3
+ .. versionchanged:: 3.3
Added support for specifying *path* as an open file descriptor.
.. versionchanged:: 3.4
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
- .. versionadded:: 3.7
- Added :attr:`f_fsid`.
+ .. versionchanged:: 3.7
+ Added the :attr:`f_fsid` attribute.
.. data:: supports_dir_fd
.. versionchanged:: 3.2
Added support for Windows 6.0 (Vista) symbolic links.
- .. versionadded:: 3.3
- Added the *dir_fd* argument, and now allow *target_is_directory*
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter, and now allow *target_is_directory*
on non-Windows platforms.
.. versionchanged:: 3.6
.. audit-event:: os.remove path,dir_fd os.unlink
- .. versionadded:: 3.3
- The *dir_fd* parameter.
+ .. versionchanged:: 3.3
+ Added the *dir_fd* parameter.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. audit-event:: os.utime path,times,ns,dir_fd os.utime
- .. versionadded:: 3.3
+ .. versionchanged:: 3.3
Added support for specifying *path* as an open file descriptor,
and the *dir_fd*, *follow_symlinks*, and *ns* parameters.
.. availability:: Unix, Windows, not Emscripten, not WASI.
- .. versionadded:: 3.3
+ .. versionchanged:: 3.3
Added support for specifying *path* as an open file descriptor
for :func:`execve`.
.. availability:: Unix, Windows, not Emscripten, not WASI.
- .. versionadded:: 3.2
- Windows support.
+ .. versionchanged:: 3.2
+ Added Windows support.
.. function:: killpg(pgid, sig, /)
You can then step through the code following this statement, and continue
running without the debugger using the :pdbcmd:`continue` command.
-.. versionadded:: 3.7
+.. versionchanged:: 3.7
The built-in :func:`breakpoint()`, when called with defaults, can be used
instead of ``import pdb; pdb.set_trace()``.
restarting preserves pdb's state (such as breakpoints) and in most cases is more
useful than quitting the debugger upon program's exit.
-.. versionadded:: 3.2
- ``-c`` option is introduced to execute commands as if given
- in a :file:`.pdbrc` file, see :ref:`debugger-commands`.
+.. versionchanged:: 3.2
+ Added the ``-c`` option to execute commands as if given
+ in a :file:`.pdbrc` file; see :ref:`debugger-commands`.
-.. versionadded:: 3.7
- ``-m`` option is introduced to execute modules similar to the way
+.. versionchanged:: 3.7
+ Added the ``-m`` option to execute modules similar to the way
``python -m`` does. As with a script, the debugger will pause execution just
before the first line of the module.
.. audit-event:: pdb.Pdb "" pdb.Pdb
- .. versionadded:: 3.1
- The *skip* argument.
+ .. versionchanged:: 3.1
+ Added the *skip* parameter.
- .. versionadded:: 3.2
- The *nosigint* argument. Previously, a SIGINT handler was never set by
- Pdb.
+ .. versionchanged:: 3.2
+ Added the *nosigint* parameter.
+ Previously, a SIGINT handler was never set by Pdb.
.. versionchanged:: 3.6
The *readrc* argument.
raised or propagated is indicated by ``>>``, if it differs from the current
line.
- .. versionadded:: 3.2
- The ``>>`` marker.
+ .. versionchanged:: 3.2
+ Added the ``>>`` marker.
.. pdbcommand:: ll | longlist
a short description. The value of *annotate* is used as a hint for
the column where annotation should start.
- .. versionadded:: 3.2
- The *annotate* argument.
+ .. versionchanged:: 3.2
+ Added the *annotate* parameter.
.. function:: genops(pickle)
copy the file more efficiently. See
:ref:`shutil-platform-dependent-efficient-copy-operations` section.
- .. versionadded:: 3.8
- The *dirs_exist_ok* parameter.
+ .. versionchanged:: 3.8
+ Added the *dirs_exist_ok* parameter.
.. function:: rmtree(path, ignore_errors=False, onerror=None, *, dir_fd=None)
If text mode is not used, *stdin*, *stdout* and *stderr* will be opened as
binary streams. No encoding or line ending conversion is performed.
- .. versionadded:: 3.6
- Added *encoding* and *errors* parameters.
+ .. versionchanged:: 3.6
+ Added the *encoding* and *errors* parameters.
- .. versionadded:: 3.7
+ .. versionchanged:: 3.7
Added the *text* parameter as an alias for *universal_newlines*.
.. note::
is only changed on platforms that support this (only Linux at this time of
writing). Other platforms will ignore this parameter.
- .. versionadded:: 3.10
- The ``pipesize`` parameter was added.
+ .. versionchanged:: 3.10
+ Added the *pipesize* parameter.
Popen objects are supported as context managers via the :keyword:`with` statement:
on exit, standard file descriptors are closed, and the process is waited for.
as it did in Python 3.3.3 and earlier. exitcode has the same value as
:attr:`~Popen.returncode`.
- .. versionadded:: 3.11
- Added *encoding* and *errors* arguments.
+ .. versionchanged:: 3.11
+ Added the *encoding* and *errors* parameters.
.. function:: getoutput(cmd, *, encoding=None, errors=None)
.. versionchanged:: 3.3.4
Windows support added
- .. versionadded:: 3.11
- Added *encoding* and *errors* arguments.
+ .. versionchanged:: 3.11
+ Added the *encoding* and *errors* parameters.
Notes
.. versionchanged:: 3.2
*query* supports bytes and string objects.
- .. versionadded:: 3.5
- *quote_via* parameter.
+ .. versionchanged:: 3.5
+ Added the *quote_via* parameter.
.. seealso::
.. versionchanged:: 3.4
Added the ``with_pip`` parameter
- .. versionadded:: 3.6
+ .. versionchanged:: 3.6
Added the ``prompt`` parameter
- .. versionadded:: 3.9
+ .. versionchanged:: 3.9
Added the ``upgrade_deps`` parameter
Creators of third-party virtual environment tools will be free to use the
meaning as in :meth:`ElementTree.write`. Returns an (optionally) encoded string
containing the XML data.
- .. versionadded:: 3.4
- The *short_empty_elements* parameter.
+ .. versionchanged:: 3.4
+ Added the *short_empty_elements* parameter.
- .. versionadded:: 3.8
- The *xml_declaration* and *default_namespace* parameters.
+ .. versionchanged:: 3.8
+ Added the *xml_declaration* and *default_namespace* parameters.
.. versionchanged:: 3.8
The :func:`tostring` function now preserves the attribute order
.. versionadded:: 3.2
- .. versionadded:: 3.4
- The *short_empty_elements* parameter.
+ .. versionchanged:: 3.4
+ Added the *short_empty_elements* parameter.
- .. versionadded:: 3.8
- The *xml_declaration* and *default_namespace* parameters.
+ .. versionchanged:: 3.8
+ Added the *xml_declaration* and *default_namespace* parameters.
.. versionchanged:: 3.8
The :func:`tostringlist` function now preserves the attribute order
this is a Unicode string. If the loader fails, it can return None or
raise an exception.
- .. versionadded:: 3.9
- The *base_url* and *max_depth* parameters.
+ .. versionchanged:: 3.9
+ Added the *base_url* and *max_depth* parameters.
.. _elementtree-element-objects:
:term:`file object`; make sure you do not try to write a string to a
binary stream and vice versa.
- .. versionadded:: 3.4
- The *short_empty_elements* parameter.
+ .. versionchanged:: 3.4
+ Added the *short_empty_elements* parameter.
.. versionchanged:: 3.8
The :meth:`write` method now preserves the attribute order specified
content: if ``False`` (the default) they are emitted as a pair of start/end
tags, if set to ``True`` they are emitted as a single self-closed tag.
- .. versionadded:: 3.2
- The *short_empty_elements* parameter.
+ .. versionchanged:: 3.2
+ Added the *short_empty_elements* parameter.
.. class:: XMLFilterBase(base)
passed to the ``zipfile.ZipFile`` class, and must supply the methods
needed by that class.
- .. versionadded:: 3.7
- Added the *filter* and *compressed* arguments.
+ .. versionchanged:: 3.7
+ Added the *filter* and *compressed* parameters.
.. function:: get_interpreter(archive)
That flag takes precedence over *metadata_encoding*, which is
a Python-specific extension.
- .. versionadded:: 3.2
+ .. versionchanged:: 3.2
Added the ability to use :class:`ZipFile` as a context manager.
.. versionchanged:: 3.3
.. versionchanged:: 3.7
Add the *compresslevel* parameter.
- .. versionadded:: 3.8
- The *strict_timestamps* keyword-only argument
+ .. versionchanged:: 3.8
+ The *strict_timestamps* keyword-only parameter.
.. versionchanged:: 3.11
Added support for specifying member name encoding for reading
.. class:: PyZipFile(file, mode='r', compression=ZIP_STORED, allowZip64=True, \
optimize=-1)
- .. versionadded:: 3.2
- The *optimize* parameter.
+ .. versionchanged:: 3.2
+ Added the *optimize* parameter.
.. versionchanged:: 3.4
ZIP64 extensions are enabled by default.
test/bogus/__init__.pyc # Subpackage directory
test/bogus/myfile.pyc # Submodule test.bogus.myfile
- .. versionadded:: 3.4
- The *filterfunc* parameter.
+ .. versionchanged:: 3.4
+ Added the *filterfunc* parameter.
.. versionchanged:: 3.6.2
The *pathname* parameter accepts a :term:`path-like object`.
.. versionchanged:: 3.6.2
The *filename* parameter accepts a :term:`path-like object`.
- .. versionadded:: 3.8
- The *strict_timestamps* keyword-only argument
+ .. versionchanged:: 3.8
+ Added the *strict_timestamps* keyword-only parameter.
Instances have the following methods and attributes: