python command详解_python 命令行解析
当我们最终完成一个python程序,希望能以命令行的方式直接执行,而不是通过编辑器修改其中的参数,这个时候就需要用到命令行解析的方式传入所需要的参数。argparse就是一个非常人性化的内建库。通过这个库,我们很容易实现如linux命令其中-h的帮助文档,其后的必选参数,可选参数。官方文档如下,非常易于理解argparse - Parser for command-line options, ar
当我们最终完成一个python程序,希望能以命令行的方式直接执行,而不是通过编辑器修改其中的参数,这个时候就需要用到命令行解析的方式传入所需要的参数。argparse就是一个非常人性化的内建库。通过这个库,我们很容易实现如linux命令其中-h的帮助文档,其后的必选参数,可选参数。
官方文档如下,非常易于理解argparse - Parser for command-line options, arguments and sub-commands - Python 3.7.1rc2 documentationdocs.python.org
官方教程如下,同样易于理解Argparse Tutorialdocs.python.org
1.实例化一个解析对象
我们需要实例化出一个用来盛放帮助文档、参数信息等等所需信息的对象:
parser = argparse.ArgumentParser(description='-h/--help中的文档描述')
prog - The name of the program (default: sys.argv[0])
usage - The string describing the program usage (default: generated from arguments added to parser)
description - Text to display before the argument help (default: none)
epilog - Text to display after the argument help (default: none)
parents - A list of ArgumentParser objects whose arguments should also be included
formatter_class - A class for customizing the help output
prefix_chars - The set of characters that prefix optional arguments (default: ‘-‘)
fromfile_prefix_chars - The set of characters that prefix files from which additional arguments should be read (default: None)
argument_default - The global default value for arguments (default: None)
conflict_handler - The strategy for resolving conflicting optionals (usually unnecessary)
add_help - Add a -h/--help option to the parser (default: True)
allow_abbrev - Allows long options to be abbreviated if the abbreviation is unambiguous. (default: True)
2.添加参数
#位置参数,程序运行必须的
parser.add_argument('positonPara',help='description in doc',)
#可选参数。当忽略时其值为None,通过arg.参数名调用。
parser.add_argument('--longPara') #长参数
parser.add_argument('-s') #短参数
parser.add_argument('-p','--parameter') #同时给出两种可选参数的形式
add_argument 参数:
name or flags - Either a name or a list of option strings, e.g. foo or -f, --foo.
nargs - The number of command-line arguments that should be consumed.
const - A constant value required by some action and nargs selections.
choices - A container of the allowable values for the argument.
required - Whether or not the command-line option may be omitted (optionals only).
help - A brief description of what the argument does.
metavar - A name for the argument in usage messages.
dest - The name of the attribute to be added to the object returned by parse_args().
help := 文档内容
type := 参数格式,默认str
action := 对参数操作
action = 'store',默认,将参数后所跟的值以type指定的格式储存,供之后调用。
action = 'store_ture',命令行加上此可选参数即将参数值存为Ture,反之False。
action = 'store_false',与上条相反
action = 'append',将值保存到一个list中,重复的按多个值处理。
action = 'count',记录参数个数
action = 'version',打印版本信息
choices := list格式,限制选择的范围。如果超出则会报错。
required := 限制这个可选参数形式的参数必须被指定,否则报错
default := 默认参数
3.解析命令行
args = parser.parse_args()
调用parse_args()来解析命令行的内容,同时返回包含命令行内容的对象供之后使用。
4.访问参数
#执行程序
python test.py --help
usage: test.py [-h] [--longPara LONGPARA] []
positonal arguments:
posiPara description in doc
optional arguments:
-h, --help show this help message and exit
更多推荐
所有评论(0)