Có thể thêm Đối số vào python argparse.ArgumentParser
mà nó không hiển thị trong phần sử dụng hoặc help ( script.py --help
) không?
Có thể thêm Đối số vào python argparse.ArgumentParser
mà nó không hiển thị trong phần sử dụng hoặc help ( script.py --help
) không?
Câu trả lời:
Có, bạn có thể đặt help
tùy chọn add_argument
thành argparse.SUPPRESS
. Đây là một ví dụ từ tài liệu của argparse :
>>> parser = argparse.ArgumentParser(prog='frobble')
>>> parser.add_argument('--foo', help=argparse.SUPPRESS)
>>> parser.print_help()
usage: frobble [-h]
optional arguments:
-h, --help show this help message and exit
Tôi làm điều đó bằng cách thêm một tùy chọn để bật những cái ẩn và lấy nó bằng cách nhìn vào sysv.args
.
Nếu bạn làm điều này, bạn phải bao gồm đối số đặc biệt mà bạn chọn ra sys.argv
trực tiếp trong danh sách phân tích cú pháp nếu bạn Giả sử tùy chọn là -s
bật tùy chọn ẩn.
parser.add_argument('-a', '-axis',
dest="axis", action="store_true", default=False,
help="Rotate the earth")
if "-s" in sys.argv or "-secret" in sys.argv:
parser.add_argument('-s', '-secret',
dest="secret", action="store_true", default=False,
help="Enable secret options")
parser.add_argument('-d', '-drill',
dest="drill", action="store_true", default=False,
help="drill baby, drill")
sysv.args
một lỗi đánh máy cho sys.argv
?
test ==SUPPRESS==
. Ít nhất là khi được sử dụng vớiadd_parser
.