使用以下代码:
import argparse
parser = argparse.ArgumentParser(description="Prepare something code.")
parser.add_argument("-t","--tabular", help="print something in tabular way for EXCEL",
action="store_true")
parser.add_argument("-v","--verbose", action="store_true")
args = parser.parse_args()
if args.tabular:
print "Tabular print"
elif args.verbose:
print "VERBOSE"
只有当我按以下方式执行时,它才会打印用法:
$ python mycode.py -h
usage: mycode.py [-h] [-t] [-v]
Prepare something code.
optional arguments:
-h, --help show this help message and exit
-t, --tabular print something in tabular way for EXCEL
-v, --verbose
我想做的是简单地运行代码:$ my code.py
而不使用任何-h
选项来打印用法。我该怎么做?
2010年的问题涵盖了同样的内容,但只有一个答案。虽然这个答案间接来自
argparse
的设计者,但它并没有涵盖所有的可能性。这里有一个让我惊讶的简单:
是的,您可以检查所有
namespace
参数的默认值,但如果有很多参数,则会变旧。但这里我只是检查是否有任何参数字符串。如果没有,则调用解析器自己的帮助函数。ipython
执行类似的操作来生成帮助。它检查sys.argv
是否有help
的某些版本,并在定义parser
之前生成自己的帮助消息。如果您需要使用“-t”或“-v”中的一个,则它们不是真正的可选选项。我将使用位置参数代替:
然后将使用以下方法之一调用您的程序:
没有争论会产生
相关问题 更多 >
编程相关推荐