我想指定一个名为inputdir
的必需参数,但我也希望有一个名为i
的速记版本。我看不出一个简洁的解决方案来做到这一点,不做两个可选的参数,然后做我自己的检查。是否有一个我没有看到的首选实践,或者唯一的方法是使两者都是可选的,并做我自己的错误处理?
这是我的代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("inputdir", help="Specify the input directory")
parser.parse_args()
对于标志(以
-
或--
开头的选项),传入带有标志的选项。可以指定多个选项:请参见name or flags option documentation:
演示:
但是,required参数的第一个元素只是一个占位符。
-
和--
选项始终是可选的(这是命令行约定),所需的参数从不使用此类开关指定。相反,命令行帮助将根据传递给add_argument()
的第一个参数(传递时不带破折号)显示在何处放置带有占位符的必需参数。如果您必须打破这个约定,并使用以
-
或--
开头的参数(无论如何都是必需的),那么您必须自己检查:这里^{} method 将打印帮助信息和错误消息,然后退出。
相关问题 更多 >
编程相关推荐