【发布时间】:2020-10-04 19:59:21
【问题描述】:
我想做这样的事情
allowed_args = ['--email', '--password', '--verbose']
if '--email' in allowed_args:
parser.add_argument('--email')
if '--password' in allowed_args:
parser.add_argument('--password', help='Better dont use your password on command line')
if '--verbose' in allowed_args:
parser.add_argument('--verbose', action='store_true')
因为我需要在使用argparse 解析参数之前定义允许哪些参数。
这就像 expeted 一样,但是我怎样才能避免使用这些重复的 if 子句(这只是一个例子,我实际上还有更多......)?我想以某种方式预定义参数,然后选择要使用的参数。
【问题讨论】:
-
为什么不将
allowed_args与所有标志和参数的映射作为映射,并遍历实际提供的列表来构建解析器?另外,这里到底要解决什么问题?