Commit 516c51c1 authored by Éric Araujo's avatar Éric Araujo

Merge from 3.2 (#9254, #8982, #9788)

parents c473f8ce fe1e298d
...@@ -110,7 +110,7 @@ Parsing arguments ...@@ -110,7 +110,7 @@ Parsing arguments
:class:`ArgumentParser` parses args through the :class:`ArgumentParser` parses args through the
:meth:`~ArgumentParser.parse_args` method. This will inspect the command line, :meth:`~ArgumentParser.parse_args` method. This will inspect the command line,
convert each arg to the appropriate type and then invoke the appropriate action. convert each arg to the appropriate type and then invoke the appropriate action.
In most cases, this means a simple namespace object will be built up from In most cases, this means a simple :class:`Namespace` object will be built up from
attributes parsed out of the command line:: attributes parsed out of the command line::
>>> parser.parse_args(['--sum', '7', '-1', '42']) >>> parser.parse_args(['--sum', '7', '-1', '42'])
...@@ -741,7 +741,7 @@ the Action API. The easiest way to do this is to extend ...@@ -741,7 +741,7 @@ the Action API. The easiest way to do this is to extend
* ``parser`` - The ArgumentParser object which contains this action. * ``parser`` - The ArgumentParser object which contains this action.
* ``namespace`` - The namespace object that will be returned by * ``namespace`` - The :class:`Namespace` object that will be returned by
:meth:`~ArgumentParser.parse_args`. Most actions add an attribute to this :meth:`~ArgumentParser.parse_args`. Most actions add an attribute to this
object. object.
...@@ -1352,11 +1352,14 @@ interactive prompt:: ...@@ -1352,11 +1352,14 @@ interactive prompt::
The Namespace object The Namespace object
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
By default, :meth:`~ArgumentParser.parse_args` will return a new object of type .. class:: Namespace
:class:`Namespace` where the necessary attributes have been set. This class is
deliberately simple, just an :class:`object` subclass with a readable string Simple class used by default by :meth:`~ArgumentParser.parse_args` to create
representation. If you prefer to have dict-like view of the attributes, you an object holding attributes and return it.
can use the standard Python idiom via :func:`vars`::
This class is deliberately simple, just an :class:`object` subclass with a
readable string representation. If you prefer to have dict-like view of the
attributes, you can use the standard Python idiom, :func:`vars`::
>>> parser = argparse.ArgumentParser() >>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo') >>> parser.add_argument('--foo')
......
...@@ -9,7 +9,9 @@ ...@@ -9,7 +9,9 @@
The :mod:`atexit` module defines functions to register and unregister cleanup The :mod:`atexit` module defines functions to register and unregister cleanup
functions. Functions thus registered are automatically executed upon normal functions. Functions thus registered are automatically executed upon normal
interpreter termination. interpreter termination. The order in which the functions are called is not
defined; if you have cleanup operations that depend on each other, you should
wrap them in a function and register that one. This keeps :mod:`atexit` simple.
Note: the functions registered via this module are not called when the program Note: the functions registered via this module are not called when the program
is killed by a signal not handled by Python, when a Python fatal internal error is killed by a signal not handled by Python, when a Python fatal internal error
......
...@@ -1387,7 +1387,7 @@ are always available. They are listed here in alphabetical order. ...@@ -1387,7 +1387,7 @@ are always available. They are listed here in alphabetical order.
.. note:: .. note::
This is an advanced function that is not needed in everyday Python This is an advanced function that is not needed in everyday Python
programming. programming, unlike :func:`importlib.import_module`.
This function is invoked by the :keyword:`import` statement. It can be This function is invoked by the :keyword:`import` statement. It can be
replaced (by importing the :mod:`builtins` module and assigning to replaced (by importing the :mod:`builtins` module and assigning to
...@@ -1437,15 +1437,8 @@ are always available. They are listed here in alphabetical order. ...@@ -1437,15 +1437,8 @@ are always available. They are listed here in alphabetical order.
names. names.
If you simply want to import a module (potentially within a package) by name, If you simply want to import a module (potentially within a package) by name,
you can call :func:`__import__` and then look it up in :data:`sys.modules`:: use :func:`importlib.import_module`.
>>> import sys
>>> name = 'foo.bar.baz'
>>> __import__(name)
<module 'foo' from ...>
>>> baz = sys.modules[name]
>>> baz
<module 'foo.bar.baz' from ...>
.. rubric:: Footnotes .. rubric:: Footnotes
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment