Python命令模块argparse学习笔记
Posted Sch01aR#
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python命令模块argparse学习笔记相关的知识,希望对你有一定的参考价值。
-
默认参数
ArgumentParser.set_defaults(**kwargs)
set_defaults()可以设置一些参数的默认值
>>> parser = argparse.ArgumentParser() >>> parser.add_argument(\'foo\', type=int) >>> parser.set_defaults(bar=123, baz=\'test\') >>> parser.parse_args([\'456\']) Namespace(bar=123, baz=\'test\', foo=456)
解析器级别的默认值会覆盖参数级别的默认值
>>> parser = argparse.ArgumentParser() >>> parser.add_argument(\'--foo\', default=\'bar\') >>> parser.set_defaults(foo=\'test\') >>> parser.parse_args([]) Namespace(foo=\'test\')
get_defaults()方法可以获取add_argument()和set_defaults()中设置的默认值
>>> parser = argparse.ArgumentParser() >>> parser.add_argument(\'--foo\', default=\'bar\') >>> parser.set_defaults(air=\'test\') >>> parser.get_default(\'air\') \'test\' >>> parser.get_default(\'foo\') \'bar\'
-
参数部分使用
如果脚本只使用所传参数中的几个参数,要把其他的参数传给其他脚本,可以使用parse_known_args()方法
ArgumentParser.parse_known_args(args=None, namespace=None)
它的工作方式与parse_args()非常相似,只是在出现额外的参数时不会产生错误,而是返回一个包含填充名称空间和剩余参数字符串的元组和列表
import argparse parser = argparse.ArgumentParser() parser.add_argument(\'bar\') parser.add_argument(\'-t\',\'--thread\') args = parser.parse_known_args() if args: print(args)
运行结果
前缀匹配规则适用于parse_known_args()
-
打印帮助
ArgumentParser.parse_args()
>>> parser = argparse.ArgumentParser() >>> parser.add_argument(\'bar\') >>> parser.parse_args() usage: [-h] bar : error: the following arguments are required: bar
还有几种格式化的方法
ArgumentParser.print_usage(file=None)
>>> parser = argparse.ArgumentParser() >>> parser.add_argument(\'--foo\') >>> parser.print_usage() usage: [-h] [--foo FOO]
如果文件是None,则为sys.stdout
ArgumentParser.print_help(file=None)
>>> parser = argparse.ArgumentParser() >>> parser.add_argument(\'--foo\') >>> parser.print_help() usage: [-h] [--foo FOO] optional arguments: -h, --help show this help message and exit --foo FOO
如果文件是None,则为sys.stdout
ArgumentParser.format_usage()
返回一个字符串,而不是打印,其中包含如何在命令行上调用ArgumentParser的简要说明
>>> parser = argparse.ArgumentParser() >>> parser.add_argument(\'--foo\') >>> parser.format_usage() \'usage: [-h] [--foo FOO]\\n\'
ArgumentParser.format_help()
返回一个包含帮助信息的字符串,包括程序用法以及有关使用ArgumentParser的参数信息
>>> parser = argparse.ArgumentParser() >>> parser.add_argument(\'--foo\') >>> parser.format_help() \'usage: [-h] [--foo FOO]\\n\\noptional arguments:\\n -h, --help show this help message and exit\\n --foo FOO\\n\'
-
退出方法
ArgumentParser.exit(status=0, message=None)
>>> import argparse >>> parser = argparse.ArgumentParser() >>> parser.exit(message=\'test\') test
然后脚本就直接退出了
ArgumentParser.error(message)
>>> parser = argparse.ArgumentParser() >>> parser.error(message=\'run error\') usage: [-h] : error: run error
打印完错误信息后脚本就直接退出了
以上是关于Python命令模块argparse学习笔记的主要内容,如果未能解决你的问题,请参考以下文章