argparse:如何允许单个参数有多个名称?

Cen*_*tAu 2 python argparse

是否可以使用多个名称来引用 argparse 中的单个参数?具体来说,我想允许用户通过下划线和连字符(破折号)指定参数?

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--input-file')
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

例如,我希望以下两个选项都适用于参数args.input_file

python main.py --input-file /tmp/file
python main.py --input_file /tmp/file
Run Code Online (Sandbox Code Playgroud)

nor*_*ok2 6

简单地列出更多选项.add_argument()

arg_parser.add_argument('--input-file', '--input_file')
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩。

请注意,-在参数中使用减号是首选的 GNU 语法

  • 您能详细说明一下代码中元素的名称吗?是第一个、最后一个还是全部?(所以 `args.input-file` 或 `args.input_file`) (2认同)
  • @gr4nt3d 这将是第一个有效的、标准化的。查看编辑。 (2认同)