2
腳本應按照以下步驟運行,並輸出相應的結果。需要的是,如果腳本以-s
運行,則需要-n
。 -n
是不是也不應該被允許通過(或者我可以忽略它?)以及-g
選項。使用argparse時,如何在用戶傳遞特定標誌時需要兩個參數?
./script.py enable -g servergroupa
./script.py enable -s servicename -n servername
代碼:
enable = subparsers.add_parser('enable')
enable_mutex = enable.add_mutually_exclusive_group(required=True)
enable_mutex.add_argument('-g', '--servicegroupname', help='servicegroup name', metavar='<servicegroup name>')
enable_mutex.add_argument('-s', '--servicename', help='service name', metavar='<service name>')
enable_mutex.set_defaults(func=servicegroup_action)
FWIW,它似乎更容易編程這個應用程序(並使用它)只需要兩個子命令'enable-group'和'enable-service'需要正確數量的位置參數(而不是隻是'enable'),因爲據我所知,沒有辦法像純粹的'argparse'那樣以你想要的方式來完成它。 – Jack