1.参数定义
定义了如下三个参数,其中use_entity_type
和 use_entity_id
是 bool
参数。这两个bool型参数的默认值都是True
。
2. 命令行传参
这里是vscode中的launch.json 文件中的参数定义,想把下面的两个参数修改成False
。
3. 运行过程
运行代码,但是发现经过parser.parse_args()
之后,参数 use_entity_type
和 use_entity_id
值仍未变。这是为什么呢?
原因在于:虽然指定了参数类型是bool,但是无论在命令行中传入何值,parser解析得到的结果始终都是True
。
4.解决方法
那么有没有什么解决方法呢?有的。
使用 action='store_true'
可以帮忙解决这个问题。即将 add_arguments
处的定义修改如下:
接着传入参数是,直接通过是否给出这个参数名就能解决上面这个问题了。