argparse支持命令行的模式选项

2019年11月26日 / 2次阅读 / Last Modified 2019年11月26日

命令行的模式选项,是可配置但是不需要提供具体参数的那些选项。比如ls命令,有 -l 参数,也有 -h 参数,还有 -a 参数。在具体使用的时候,可以直接在命令行写成 -alh 这种风格。python的argparse模块,支持这种命令行的模式选项。

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-s', action='store_true')
parser.add_argument('-e', action='store_true')
args = parser.parse_args()
if args.s: print('have s')
if args.e: print('have e')

以上代码定义了两个模式选项,-s 和 -e,需要配合action=‘store_true’这个参数,表示只要配置了,对应的值就是True,不配置就是False(None的真值判断就是False)。如下是这段代码在命令行调用的情况:

$ python3 arg.py -s -e
have s
have e
$ python3 arg.py -e -s
have s
have e
$ python3 arg.py -es
have s
have e
$ python3 arg.py -se
have s
have e

-s 和 -e可以分开,也可以混在一起,打乱顺序也没关系。模式选项这种命令行参数风格,来自Unix,python的argparse模块支持得还不错。

-- EOF --

本文链接:https://www.pynote.net/archives/1568

相关文章

    留言区

    电子邮件地址不会被公开。 必填项已用*标注


    前一篇:
    后一篇:

    More

    麦新杰的Python笔记

    Ctrl+D 收藏本页


    ©Copyright 麦新杰 Since 2019 Python笔记

    go to top