当同一选项可以有参数也可以没有参数时,如何解析参数

2024-04-26 05:37:27 发布

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

我想有一个命令行参数选项,用户可以/不能为标志提供参数。此标志甚至可以在没有参数的情况下调用。你知道吗

举个例子。你知道吗

opts, args = getopt.getopt(argv, "hd:vp:",["help","duration=","verbose","plot="])

但是在optargs中,如果我们在没有任何参数的情况下编写-p,它会给我错误。我希望这样我就可以在命令行中同时使用-p-p arg


Tags: 命令行用户参数标志选项help情况args
1条回答
网友
1楼 · 发布于 2024-04-26 05:37:27

您应该考虑切换到argparse,这会使您在命令行参数上拥有更多的权限。与getopt调用等效的配置如下:

parser = argparse.ArgumentParser()
parser.add_argument(' duration', '-d')
parser.add_argument(' verbose', '-v', action='store_true')
parser.add_argument(' plot', '-p', nargs='?', default=None)

args = parser.parse_args()
print(args)

这已经包括了一个完整的帮助文本,verbose是一个标志,将长选项和短选项映射到同一个字段,并且能够指定一个plot或返回默认值。你知道吗

相关问题 更多 >