使用argparse解析Bool型的坑
编程语言
今天又碰到一个坑…使用argparse解析bool型参数返回值总是true.
问题出现
首先我使用以下进行参数解析
parser.add_argument('--train_classifier', type=bool, help='wether train the classsifier', default=False)在使用时指定
--train_classifier False得到参数都是True
问题分析
这里是因为argparse库对于bool型参数是这样控制的:
--train_classifier使用这个选项即打开.
问题解决
parser.add_argument('--train_classifier', type=str, help='wether train the classsifier', choices=['True', 'False'], default='False')现在使用选项的方式来控制bool型