argparse中位置参数的位置

3 投票
2 回答
1720 浏览
提问于 2025-04-16 08:42

我不想要这样的用法:

用法: installer.py [-h] [-v] 目录

我想要这样的用法:

用法: installer.py 目录 [-h] [-v]

有没有办法指定位置参数的位置呢?

2 个回答

0

来自argparse文档

默认情况下,ArgumentParser会根据它包含的参数来计算使用说明信息:

usage: PROG [-h] [--foo [FOO]] bar [bar ...]

这个默认信息可以通过使用usage=这个关键字参数来覆盖:

>> parser = argparse.ArgumentParser(prog='PROG', usage='%(prog)s [options]')

usage: PROG [options]
2

如果你设置了一个位置参数,这个参数可以用两种方式来处理,所以你仍然可以使用

installer.py dir [-h] [-v]

这里的dir会被处理,这和ArgParse文档中的例子非常相似:

http://docs.python.org/library/argparse.html#example

撰写回答