argparse-找出是否提供了参数或使用了默认值

2024-09-27 00:16:19 发布

您现在位置:Python中文网/ 问答频道 /正文

如何知道argparse返回的参数是在命令行上给出的,还是使用了默认值

在下面的代码中,我想知道args使用了默认值,但是args2没有,尽管提供的值与默认值相同

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--khram', '-k', nargs='?', default='wawawiwa')

args = parser.parse_args([])
args2 = parser.parse_args(['-kwawawiwa'])


我们可以看到argsargs2是无法区分的:

>>> args == args2
True
>>> args.khram == args2.khram
True
>>> args._get_args() == args2._get_args()
True
>>> args._get_kwargs() == args2._get_kwargs()
True

Tags: 代码命令行importaddtrueparser参数get

热门问题