Python 给定argparse参数的选项,我可以为它们使用快捷方式吗?

Python 给定argparse参数的选项,我可以为它们使用快捷方式吗?,python,argparse,Python,Argparse,是否有可能在命令行中传递“r”而不是“run”,传递“h”而不是“halt”?我能想到的唯一方法是添加这些选项并为它们分配relevnat命令,即: import argparse p = argparse.ArgumentParser() p.add_argument('foo', choices=['run', 'halt']) 我相信唯一的方法就是像您所做的那样,正如您从文档中看到的那样:,传递的值将在给定的选项中检查是否完全匹配选择机制使用一个简单的in测试-astr in actio

是否有可能在命令行中传递“r”而不是“run”,传递“h”而不是“halt”?我能想到的唯一方法是添加这些选项并为它们分配relevnat命令,即:

import argparse
p = argparse.ArgumentParser()
p.add_argument('foo', choices=['run', 'halt'])

我相信唯一的方法就是像您所做的那样,正如您从文档中看到的那样:,传递的值将在给定的选项中检查是否完全匹配选择机制使用一个简单的
in
测试-
astr in action.choices
。如果
choices
是一个列表,那么它必须是一个完全匹配的列表<代码>选项也可以是匹配键的字典。但它也可能是你自己设计的一些别致的类(它也必须能够显示帮助)。另一个选项是使用
type
功能测试值。
p.add_argument('foo', choices=['run', 'r', 'h', 'halt'])
if args.foo in ('r', 'run'):
    # do something...