diff options
author | Steven Bethard <steven.bethard@gmail.com> | 2011-03-26 18:50:06 (GMT) |
---|---|---|
committer | Steven Bethard <steven.bethard@gmail.com> | 2011-03-26 18:50:06 (GMT) |
commit | d8f2d50c204442d0dfafcc29db3177d15abb41df (patch) | |
tree | 4d84f933787cd00e21badd88c5766030741ff2c8 /Doc/library/argparse.rst | |
parent | c13d454e84aabe80fbc7763491bdfb3c924016fe (diff) | |
download | cpython-d8f2d50c204442d0dfafcc29db3177d15abb41df.zip cpython-d8f2d50c204442d0dfafcc29db3177d15abb41df.tar.gz cpython-d8f2d50c204442d0dfafcc29db3177d15abb41df.tar.bz2 |
Issue #8982: Improve the documentation for the argparse Namespace object.
Diffstat (limited to 'Doc/library/argparse.rst')
-rw-r--r-- | Doc/library/argparse.rst | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst index 8bd3ca5..102b3e9 100644 --- a/Doc/library/argparse.rst +++ b/Doc/library/argparse.rst @@ -1314,13 +1314,24 @@ of :data:`sys.argv`. This can be accomplished by passing a list of strings to Namespace(accumulate=<built-in function sum>, integers=[1, 2, 3, 4]) -Custom namespaces -^^^^^^^^^^^^^^^^^ +The Namespace object +^^^^^^^^^^^^^^^^^^^^ + +By default, :meth:`parse_args` will return a new object of type :class:`Namespace` +where the necessary attributes have been set. 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 via :func:`vars`:: + + >>> parser = argparse.ArgumentParser() + >>> parser.add_argument('--foo') + >>> args = parser.parse_args(['--foo', 'BAR']) + >>> vars(args) + {'foo': 'BAR'} It may also be useful to have an :class:`ArgumentParser` assign attributes to an -already existing object, rather than the newly-created :class:`Namespace` object -that is normally used. This can be achieved by specifying the ``namespace=`` -keyword argument:: +already existing object, rather than a new :class:`Namespace` object. This can +be achieved by specifying the ``namespace=`` keyword argument:: >>> class C: ... pass |