以及可选位置的排序

2024-04-16 23:32:48 发布

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

考虑以下代码:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('REPO_OR_DOUBLE_DASH', nargs='?')
parser.add_argument('SUBPAGE', nargs='?')
args = parser.parse_args()
print(args)

及其输出:

$ python a.py a b
Namespace(REPO_OR_DOUBLE_DASH='a', SUBPAGE='b')
$ python a.py '--' issues
Namespace(REPO_OR_DOUBLE_DASH='issues', SUBPAGE=None)

这里发生了什么?我期望Namespace(REPO_OR_DOUBLE_DASH='--', SUBPAGE='isues')。我怎么去那里?你知道吗


Tags: or代码pyaddparserargparseargsrepo
1条回答
网友
1楼 · 发布于 2024-04-16 23:32:48

如果我理解正确,您会问为什么第二个示例中的REPO_OR_DOUBLE_DASH参数没有设置为。你知道吗

原因是argparse遵循双破折号表示选项/标志结束和位置参数开始的约定。因此,第一个“实”参数是issues,它相应地被保存在REPO_OR_DOUBLE_DASH参数中。你知道吗

相关问题 更多 >