Python argparse 静态参数
我刚开始学习Python中的argparse模块。
我的程序可以重置、创建、删除一个账户的密码。
python manager.py create <some_username> # Create a account
delete <some_username> # Delete a account
resetpw <some_username> mysql # Reset mysql pw of account
resetpw <some_username> unix # Reset unix pw of account
这里的“create”(创建)、“delete”(删除)、“mysql”和“unix”这些参数是固定的。我该怎么在argparse中实现这些呢?
我试过下面的方式:
parser = argparse.ArgumentParser(prog='manager')
parser.add_argument('create', action='store_true', help='Create a account')
parser.add_argument('delete', action='store_true', help='Delete a account')
args = parser.parse_args()
但是这样不行。
1 个回答
3
你在寻找 子解析器:
import argparse
parser = argparse.ArgumentParser(prog='manager')
sub = parser.add_subparsers(dest='command')
sub.add_parser('create', help='Create a account')
sub.add_parser('delete', help='Delete a account')
print parser.parse_args(['create'])
# Namespace(command='create')