argparse是python标准库中推荐的命令解析模块。本文主要针对3.x,3.x对比2.x在异常信息处理上有了一些提升和一些细节上有些不同。
注意:还有两个模块和argparse完成相同的功能,getopt(和C语言中的getopt()函数相同)和已经过时的optparse,但是argparse是基于optparse的,所以两者在用法上十分的相似。
概念:
让我们通过ls命令来介绍接下来将要讨论的argparse的设计目的:
$ ls
cpython devguide prog.py pypy rm-unused-function.patch
$ ls pypy
ctypes_configure demo dotviewer include lib_pypy lib-python ...
$ ls -l
total 20
drwxr-xr-x 19 wena wena 4096 Feb 18 18:51 cpython
drwxr-xr-x 4 wena wena 4096 Feb 8 12:04 devguide
-rwxr-xr-x 1 wena wena 535 Feb 19 00:05 prog.py
drwxr-xr-x 14 wena wena 4096 Feb 7 00:59 pypy
-rw-r--r-- 1 wena wena 741 Feb 18 01:01 rm-unused-function.patch
$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
从上面的四个命令中我们能获取到下面的概念:
1、在没有任何的选项的时候ls也是能正常工作的,它默认显示了当前目录下的所有文件
2、如果我们想知道更多的信息,则需要告诉它更多的信息。在这个例子中,我们想知道pypy目录下的文件信息,我们指定了一个确定的位置作为选择参数。pypy是一个程序知道的位置,所以程序知道接下来应该如何做,而且它的位置是十分重要的。这个概念在cp命令中有更好的体现:
cp SRC DEST
上面的例子中,第一个位置上的参数表示想要复制的内容,第二个参数的表示复制的目标位置。
基础:
让我们从一个非常简单的例子开始,虽然这个