框架 argparse - 检查是否设置了标志

Framework argparse - check if flag is set

我想以这种方式使用我的脚本:python script.py -x 现在我 运行 它使用这个命令 python script.py -x y

我的代码:

parser = ArgumentParser()
parser.add_argument('-x', '--x', dest="x", default="n")
options = parser.parse_args()
if option.x == 'y':
    f()

这样写是可以的

python script.py -x

parser = ArgumentParser()
parser.add_argument('-x', '--x', dest="x")
options = parser.parse_args()
if isset(option.x):
    f()

只需使用 'store_true' action:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-x', action='store_true')

那么你可以简单地测试一下这个论点的真实性:

options = parser.parse_args()
if options.x:
    f()

在使用中,仅打印该参数是否为 truth-y:

C:\Python27>python so.py
x is not set

C:\Python27>python so.py -x
x is set