我是 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()
但这行不通。
最佳答案
您正在寻找subparsers :
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')
关于Python argparse 静态参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24011742/