作者freeedward (愛得華)
看板Python
標題[問題] 有關argument
時間Fri May 7 10:21:04 2021
請問一個問題, 為何這樣寫會出現錯誤呢
[程式碼片段]
parser_e = subparsers.add_parser('role', help='map', description='role arguments')
parser_e.add_argument("role", nargs='+', choices=['map'],
help='role command, available parameter is map')
subsubparsers = parser_e.add_subparsers()
parser_ee = subsubparsers.add_parser('map', help='create | list', description='role map arguments')
parser_ee.add_argument("map", nargs='+', choices=['create','list'],
help='map command, available parameter is create, list')
[執行命令]
tool role map list
[錯誤返回]
role: error: invalid choice: 'list' (choose from 'map')
--
~meow
★ Butter Yuki Cat ★ meow~
△ △
★ ╭ ╦╗ ═ ╭╬╗ ═╦═ ╦ ╬═╬ ╠╣ ╬═╬ ★ ▲ ▲
=▏ ̄▕=
★ ╬╬║║ ║║║ ║ ║ ╠═╣ ╠╬╗╭╦╗ ★ =███=
\_/
★ ║║║╩╗ ═ ╠╬╣ ═╬═ ╬ ╠═╣ ╭═╣╠╬╣ ★ ◥█◤
ζ∕ ﹨
★ ╚╬║ ║ ║║║║ ║╮ ║ ╩═╩ ╭═╣║║║ ★ ▌█▋▋
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.193.22.45 (香港)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1620354073.A.8C2.html
推 lycantrope: parser_e.add_argument 這邊用nargs = "+" 會變成 05/07 11:06
→ lycantrope: list也變成role其中一個argument,但choice卻沒包含到 05/07 11:07
→ freeedward: 我改成nargs=2, 出現以下錯誤 05/07 11:47
→ freeedward: role: error: argument role: invalid choice: 'list' 05/07 11:48