我在使用argparse时遇到了一点困难,如果有人能就以下两个问题给出建议,我将不胜感激:
1)我的脚本有几个命令行参数,其中一个是--color。我希望argparse执行以下语法:--color=True,并且不能容忍这样的语法:--color True。
parser = argparse.ArgumentParser()
parser.add_argument('--color', nargs=1, default=True)2)我使用的另一个选项是-i
parser.add_argument('-i','--ignorecase', action='store_true')
args = parser.parse_args()根据True或False,re.compile将使用flags=re.IGNORECASE或flags=0
if (args.ignorecase == True):
CASE_SENSITIVITY=re.IGNORECASE
else:
CASE_SENSITIVITY=0
pattern = re.compile('my_pattern', flags=CASE_SENSITIVITY)有没有更简单的方法来给CASE_SENSITIVITY赋值?也许是在parser.add_argument内部,这样我就可以避免多个步骤,如果不是这样的话,等等?
发布于 2013-01-30 07:18:12
您可以始终使用三元运算符,例如:
CASE_SENSITIVITY = 0 if not args.ignorecase else re.IGNORECASEhttps://stackoverflow.com/questions/14591241
复制相似问题