Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
e9715b90
Commit
e9715b90
authored
Aug 10, 2011
by
Éric Araujo
Browse files
Options
Browse Files
Download
Plain Diff
Merge 3.2
parents
cfcc9779
d9d7bca6
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
22 deletions
+22
-22
Doc/library/argparse.rst
Doc/library/argparse.rst
+19
-19
Makefile.pre.in
Makefile.pre.in
+3
-3
No files found.
Doc/library/argparse.rst
View file @
e9715b90
...
...
@@ -2,7 +2,7 @@
===============================================================================
.. module:: argparse
:synopsis: Command-line option and argument
-
parsing library.
:synopsis: Command-line option and argument
parsing library.
.. moduleauthor:: Steven Bethard <steven.bethard@gmail.com>
.. sectionauthor:: Steven Bethard <steven.bethard@gmail.com>
...
...
@@ -107,7 +107,7 @@ or the :func:`max` function if it was not.
Parsing arguments
^^^^^^^^^^^^^^^^^
:class:`ArgumentParser` parses args through the
:class:`ArgumentParser` parses arg
ument
s through the
:meth:`~ArgumentParser.parse_args` method. This will inspect the command line,
convert each arg to the appropriate type and then invoke the appropriate action.
In most cases, this means a simple :class:`Namespace` object will be built up from
...
...
@@ -118,7 +118,7 @@ attributes parsed out of the command line::
In a script, :meth:`~ArgumentParser.parse_args` will typically be called with no
arguments, and the :class:`ArgumentParser` will automatically determine the
command-line args from :data:`sys.argv`.
command-line arg
ument
s from :data:`sys.argv`.
ArgumentParser objects
...
...
@@ -669,11 +669,11 @@ be positional::
action
^^^^^^
:class:`ArgumentParser` objects associate command-line args with actions. These
actions can do just about anything with the command-line args associated with
:class:`ArgumentParser` objects associate command-line arg
ument
s with actions. These
actions can do just about anything with the command-line arg
ument
s associated with
them, though most actions simply add an attribute to the object returned by
:meth:`~ArgumentParser.parse_args`. The ``action`` keyword argument specifies
how the command-line args should be handled. The supported actions are:
how the command-line arg
ument
s should be handled. The supported actions are:
* ``'store'`` - This just stores the argument's value. This is the default
action. For example::
...
...
@@ -745,8 +745,8 @@ the Action API. The easiest way to do this is to extend
:meth:`~ArgumentParser.parse_args`. Most actions add an attribute to this
object.
* ``values`` - The associated command-line arg
s, with any type-
conversions
applied. (Type
-
conversions are specified with the type_ keyword argument to
* ``values`` - The associated command-line arg
uments, with any type
conversions
applied. (Type
conversions are specified with the type_ keyword argument to
:meth:`~ArgumentParser.add_argument`.
* ``option_string`` - The option string that was used to invoke this action.
...
...
@@ -778,7 +778,7 @@ single action to be taken. The ``nargs`` keyword argument associates a
different number of command-line arguments with a single action. The supported
values are:
* N (an integer). N args from the command line will be gathered together into a
* N (an integer). N arg
ument
s from the command line will be gathered together into a
list. For example::
>>> parser = argparse.ArgumentParser()
...
...
@@ -822,7 +822,7 @@ values are:
Namespace(infile=<_io.TextIOWrapper name='<stdin>' encoding='UTF-8'>,
outfile=<_io.TextIOWrapper name='<stdout>' encoding='UTF-8'>)
* ``'*'``. All command-line args present are gathered into a list. Note that
* ``'*'``. All command-line arg
ument
s present are gathered into a list. Note that
it generally doesn't make much sense to have more than one positional argument
with ``nargs='*'``, but multiple optional arguments with ``nargs='*'`` is
possible. For example::
...
...
@@ -846,7 +846,7 @@ values are:
usage: PROG [-h] foo [foo ...]
PROG: error: too few arguments
If the ``nargs`` keyword argument is not provided, the number of args consumed
If the ``nargs`` keyword argument is not provided, the number of arg
ument
s consumed
is determined by the action_. Generally this means a single command-line arg
will be consumed and a single item (not a list) will be produced.
...
...
@@ -864,7 +864,7 @@ the various :class:`ArgumentParser` actions. The two most common uses of it are
* When :meth:`~ArgumentParser.add_argument` is called with option strings
(like ``-f`` or ``--foo``) and ``nargs='?'``. This creates an optional
argument that can be followed by zero or one command-line args.
argument that can be followed by zero or one command-line arg
ument
s.
When parsing the command line, if the option string is encountered with no
command-line arg following it, the value of ``const`` will be assumed instead.
See the nargs_ description for examples.
...
...
@@ -914,11 +914,11 @@ command-line argument was not present.::
type
^^^^
By default, :class:`ArgumentParser` objects read command-line args in as simple
By default, :class:`ArgumentParser` objects read command-line arg
ument
s in as simple
strings. However, quite often the command-line string should instead be
interpreted as another type, like a :class:`float` or :class:`int`. The
``type`` keyword argument of :meth:`~ArgumentParser.add_argument` allows any
necessary type-checking and type
-
conversions to be performed. Common built-in
necessary type-checking and type
conversions to be performed. Common built-in
types and functions can be used directly as the value of the ``type`` argument::
>>> parser = argparse.ArgumentParser()
...
...
@@ -938,7 +938,7 @@ writable file::
Namespace(bar=<_io.TextIOWrapper name='out.txt' encoding='UTF-8'>)
``type=`` can take any callable that takes a single string argument and returns
the
type-
converted value::
the converted value::
>>> def perfect_square(string):
... value = int(string)
...
...
@@ -973,7 +973,7 @@ See the choices_ section for more details.
choices
^^^^^^^
Some command-line args should be selected from a restricted set of values.
Some command-line arg
ument
s should be selected from a restricted set of values.
These can be handled by passing a container object as the ``choices`` keyword
argument to :meth:`~ArgumentParser.add_argument`. When the command line is
parsed, arg values will be checked, and an error message will be displayed if
...
...
@@ -1331,7 +1331,7 @@ An error is produced for arguments that could produce more than one options.
Beyond ``sys.argv``
^^^^^^^^^^^^^^^^^^^
Sometimes it may be useful to have an ArgumentParser parse args other than those
Sometimes it may be useful to have an ArgumentParser parse arg
ument
s other than those
of :data:`sys.argv`. This can be accomplished by passing a list of strings to
:meth:`~ArgumentParser.parse_args`. This is useful for testing at the
interactive prompt::
...
...
@@ -1559,7 +1559,7 @@ FileType objects
The :class:`FileType` factory creates objects that can be passed to the type
argument of :meth:`ArgumentParser.add_argument`. Arguments that have
:class:`FileType` objects as their type will open command-line args as files
:class:`FileType` objects as their type will open command-line arg
ument
s as files
with the requested modes and buffer sizes:
>>> parser = argparse.ArgumentParser()
...
...
@@ -1673,7 +1673,7 @@ Parser defaults
.. method:: ArgumentParser.set_defaults(**kwargs)
Most of the time, the attributes of the object returned by :meth:`parse_args`
will be fully determined by inspecting the command-line args and the argument
will be fully determined by inspecting the command-line arg
ument
s and the argument
actions. :meth:`set_defaults` allows some additional
attributes that are determined without any inspection of the command line to
be added::
...
...
Makefile.pre.in
View file @
e9715b90
...
...
@@ -1331,8 +1331,8 @@ smelly: all
# Find files with funny names
funny
:
find
$(
DISTDIRS
)
\
-
o
-
type
d
\
find
$(
SUBDIRS)
$(SUBDIRSTOO
)
\
-type
d
\
-o
-name
'*.[chs]'
\
-o
-name
'*.py'
\
-o
-name
'*.pyw'
\
...
...
@@ -1360,7 +1360,7 @@ funny:
-o
-name
.hgignore
\
-o
-name
.bzrignore
\
-o
-name
MANIFEST
\
-
o
-
print
-print
# Perform some verification checks on any modified files.
patchcheck
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment