首页 > 解决方案 > Python argparse 可选破折号整数参数

问题描述

是否可以使用 argparse 添加可选参数作为 -<integer>,

类似于接受 -<integer> 来说明要打印多少行的unixhead和命令, 或者类似于接受 -<integer> 来说明要打印多少日志条目的命令?tail
git log

例如,

head -4     # print four lines
tail -12    # print 12 lines.
git log -7  # print 7 log entries

而参数可选的,例如,这些都有效:

head        # print default number of lines
tail        # print default number of lines
git log     # print all log entries through system pager

在 Python 中是否有通用和/或公认的方法来执行此操作?

谢谢。

标签: pythonpython-3.xargparse

解决方案


argparse不支持动态选项名称。

资料来源:我试着做你问的同样的事情。

您可以自己完成任务,但它必须在之前或之后运行,argparse并且必须修改sys.argv. 这使得解决方案的一半将是回避argparse。我建议您尝试找到支持这种参数传递方式的库。


推荐阅读