为什么将破折号在可选args中转换为下划线,而在argparse中不转换为下划线

时间:2018-08-13 15:39:53

标签: python command-line arguments command-line-interface argparse

我目前正在构建一个cli工具,并使用argparse模块遇到了一些抓头功能(至少对我来说是抓头)。我做了快速的google搜索,但是找不到任何答案-尽管我的搜索术语很可能是错误的。

此行为在以下屏幕截图中说明:

enter image description here

这是情况:

  • 位置参数,在键中用破折号定义
  • 可选参数,也在键中用破折号定义

当将.parse_args()的结果传递到vars()时,保留了位置参数中的破折号(如预期的那样),但是对于可选参数(即,带有可选参数)似乎不是这种情况,破折号将转换为下划线。

我在这里想念什么?我希望通过python导出可以解释为什么存在这种行为。。在此先感谢。

m

忍者编辑:

提交此帖子时,我发现这可能与用于声明可选参数的前缀--有关。但我仍然想知道实际的推理。

编辑:

有人向我指出,这与vars()无关,但问题仍然存在:为什么这是行为?

0 个答案:

没有答案