Python argparse中的action=store_true用法小结攻略如下:
1. 理解action=store_true
在Python中的argparse模块中,action是参数值如何被处理的方式,其中,action=store_true表示在命令行中指定该参数时,该参数对应的值为True,不指定则为False。
在argparse中,使用parser.add_argument()
函数来添加参数。下面是一个简单的使用示例:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true', help='increase output verbosity')
args = parser.parse_args()
if args.verbose:
print("Verbosity turned on")
这个例子中,我们创建了一个参数--verbose
,并使用action='store_true'
来指定参数只能是True或False。如下面的示例所示:
2. 示例一
我们的测试代码如下,它接受一个--debug
参数来开启debug模式。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--debug", help="turn on debug mode", action="store_true")
args = parser.parse_args()
if args.debug:
print("Debug mode ON")
else:
print("Debug mode OFF")
通过下面的两个命令行调用,我们可以测试开启和关闭debug模式的输出情况:
python demo.py -d
输出结果为:Debug mode ON
python demo.py
输出结果为:Debug mode OFF
在以上的例子中,我们使用了"-d", "--debug"
来指定了参数的名称,指定了参数的提示信息为“turn on debug mode”。当使用action="store_true"
参数时,无论是否指定参数值,其值均为True。所以,当--debug
参数存在时,我们才会输出Debug mode ON,否则为Debug mode OFF。
3. 示例二
在以下示例中,我们将演示如何使用argparse来解析命令行中的多个参数。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--debug', dest='debug', action='store_true', help='enable debug mode')
parser.add_argument('--name', dest='name', help='your name')
args = parser.parse_args()
if args.debug:
print("Debug mode ON")
else:
print("Debug mode OFF")
if args.name:
print("Hello, %s!" % args.name)
else:
print("Hello, World!")
在这个例子中,程序接受两个参数:--debug
和--name
。--debug
参数用来开启/关闭调试模式,--name
参数用来指定姓名。我们来测试一下这个程序,如下所示:
# 仅开启debug模式
python demo.py --debug
# 输出结果为:Debug mode ON
Hello, World!
# 仅输入姓名
python demo.py --name Bob
# 输出结果为:Debug mode OFF
Hello, Bob!
# 同时开启debug模式和输入姓名
python demo.py --debug --name Bob
# 输出结果为:Debug mode ON
Hello, Bob!
在这个例子中,我们成功使用了argparse解析了两个命令行参数,--debug
和--name
。其中,--debug
参数使用了action='store_true'
来指定参数的值仅可为True或False,而--name
参数则没有指定action
,它可以接受用户指定的任何值。
通过以上两个示例的讲解,我们对于Python argparse中的action=store_true
用法有了一个完整的了解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python argparse中的action=store_true用法小结 - Python技术站