Python 需要其他参数的 argparser 可选 arg
Python argparser optional arg that requires other arguments
我在互联网上搜索过,但找不到是否可以与 python argparser 包进行争论,该包是可选的,但在选择时需要参数。
为了更好理解,我会用代码来解释,让大家更容易理解。
我的目标是建立一个数据库,其中包含我注册的所有网站和应用程序,并在其中存储网站或平台、邮件、用户和密码。我想创建一些可选参数,例如:
Python manageaccounts.py --add steam mail user pass
这只是一个例子,但我认为它更容易理解。
基本上,我想要的不是“--add”,而是“--delete”和“--change”参数。有了这个我想说我不知道如何使一个参数可选,当它被选择时它需要另一个参数,在这种情况下我选择“--add”并向我的数据库添加一个新行我需要一个"site" a "mail" "user"和"pass",我想制作“ - add”可选的,以及当它选择制作站点邮件用户并通过[= 13 = = 13 =时]
If anyone didn't understand what I want to know is to know how I can make an argument require another arguments.
听起来你想要的是一个subparser
这是一个例子:
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(dest='subparser')
add = subparsers.add_parser("add")
add.add_argument('steam')
add.add_argument('mail')
add.add_argument('user')
add.add_argument('password')
delete = subparsers.add_parser("delete")
delete.add_argument('user')
args = parser.parse_args()
if args.subparser == 'add':
print("Called add with arguments", args.user, args.mail, args.steam, args.password)
elif args.subparser == 'delete':
print("Called delete with arguments", args.user)
else:
print("Unknown option")
我在互联网上搜索过,但找不到是否可以与 python argparser 包进行争论,该包是可选的,但在选择时需要参数。
为了更好理解,我会用代码来解释,让大家更容易理解。
我的目标是建立一个数据库,其中包含我注册的所有网站和应用程序,并在其中存储网站或平台、邮件、用户和密码。我想创建一些可选参数,例如:
Python manageaccounts.py --add steam mail user pass
这只是一个例子,但我认为它更容易理解。 基本上,我想要的不是“--add”,而是“--delete”和“--change”参数。有了这个我想说我不知道如何使一个参数可选,当它被选择时它需要另一个参数,在这种情况下我选择“--add”并向我的数据库添加一个新行我需要一个"site" a "mail" "user"和"pass",我想制作“ - add”可选的,以及当它选择制作站点邮件用户并通过[= 13 = = 13 =时]
If anyone didn't understand what I want to know is to know how I can make an argument require another arguments.
听起来你想要的是一个subparser
这是一个例子:
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(dest='subparser')
add = subparsers.add_parser("add")
add.add_argument('steam')
add.add_argument('mail')
add.add_argument('user')
add.add_argument('password')
delete = subparsers.add_parser("delete")
delete.add_argument('user')
args = parser.parse_args()
if args.subparser == 'add':
print("Called add with arguments", args.user, args.mail, args.steam, args.password)
elif args.subparser == 'delete':
print("Called delete with arguments", args.user)
else:
print("Unknown option")