Python 命令行解析模块小记

主要就用到的方法就如下三个

1
parser = argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True) # 创建命令行解析对象
  • prog - 程序的名字(默认:sys.argv[0])
  • usage - 描述程序用法的字符串(默认:从解析器的参数生成)
  • description - 参数帮助信息之前的文本(默认:空)
  • epilog - 参数帮助信息之后的文本(默认:空)
  • parents - ArgumentParser 对象的一个列表,这些对象的参数应该包括进去
  • formatter_class - 定制化帮助信息的类
  • prefix_chars - 可选参数的前缀字符集(默认:‘-‘)
  • fromfile_prefix_chars - 额外的参数应该读取的文件的前缀字符集(默认:None)
  • argument_default - 参数的全局默认值(默认:None)
  • conflict_handler - 解决冲突的可选参数的策略(通常没有必要)
  • add_help - 给解析器添加-h/–help 选项(默认:True)
1
parser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest]) # 增加命令行参数
  • name or flags - 要设置的命令行参数
  • action - 指出应该如何处理命令行参数
  • nargs - 命令行参数的个数
  • default - 默认值
  • type - 参数的类型,默认是字符串string类型,还有float、int、file等类型
  • choices - 可以看做是default的扩展,参数的值必须在choices的范围内
  • required 一般情况下,argparse模块假定-f和–bar标记表示可选参数,它们在命令行中可以省略。如果要使得选项是必需的,可以指定True作为required=关键字参数的值给add_argument()
  • help - 在 -h/-help 时,打印命令行参数的提示信息
1
2
3
4
parser.parse_args() # 执行命令函解析参数
# 获取命令函参数的值的实例
args = parser.parse_args()
price = args.[option]

参考文章一
参考文章二