我目前正在构建一个cli
工具,并使用argparse
模块遇到了一些抓头功能(至少对我来说是抓头)。我做了快速的google
搜索,但是找不到任何答案-尽管我的搜索术语很可能是错误的。
此行为在以下屏幕截图中说明:
这是情况:
当将.parse_args()
的结果传递到vars()
时,保留了位置参数中的破折号(如预期的那样),但是对于可选参数(即,带有可选参数)似乎不是这种情况,破折号将转换为下划线。
我在这里想念什么?我希望通过python导出可以解释为什么存在这种行为。。在此先感谢。
m
忍者编辑:
提交此帖子时,我发现这可能与用于声明可选参数的前缀--
有关。但我仍然想知道实际的推理。
编辑:
有人向我指出,这与vars()
无关,但问题仍然存在:为什么这是行为?