私はスクリプトでadd_user()
関数を呼び出すと、必要なすべての引数を渡す方法を見つけ出すように見えることはできませんでsubparserから返されました。私はこの得ていない名前空間はparse_args()
if args.adduser:
add_user(username, account, groups)
を行う場合には、adduser
Namespace
を見つけることができません。私はこの
parser_adduser.set_defaults(func=add_user)
を追加する場合
AttributeError: 'Namespace' object has no attribute 'adduser'
しかし、add_user()
機能を実行するように見えますが、それをいずれかの引数を渡すことはありません。
def parse_args():
helptext = 'Script to Add, Delete, Update AWS Users'
parser = argparse.ArgumentParser(description=helptext,
prog='aws-IAM-user.py',
usage='%(prog)s [position] [-u] [optional]',
conflict_handler='resolve',)
parser.add_argument('-v', '--version',
dest='version')
subparsers = parser.add_subparsers(title='Main commands',
help='MORE INFO: [COMMAND] -help')
parent_parser = argparse.ArgumentParser(add_help=False)
parent_parser.add_argument('-u', '--username',
dest='username',
action='store',
help='list a single user or multiple users, '
'seperated by space',
nargs='+',
required=True)
parent_parser.add_argument('-a', '--account',
dest='account',
action='store',
nargs='+',
help='Specify Account(s).'
' Default is to use all available')
# 'Add User Parsers'
parser_adduser = subparsers.add_parser('adduser',
parents=[parent_parser],
help='adduser -u USER -a ACCOUNT -g GROUP.'
' Passwords are auto-gen')
parser_adduser.add_argument('-g', '--group',
dest='groups',
nargs='+',
help='specify group(s) seperated by space')
parser_adduser.set_defaults(func=add_user)
return parser.parse_args()
if __name__ == '__main__':
args = parse_args()
config = ConfigParser.RawConfigParser()
config.read(AWS_CONFIG_FILE)
username = args.username
account = args.account
私はばかだ場合、私は知らないが、私はそう使いたいsubparser
機能を使用している間adduser
を使用してスクリプトを呼び出すと、すべてのフラグを渡す方法を見つけ出すように見えることはできませんひどく。
それはそれです。ありがとうございました。ありがとうございました。 **ありがとうございます** –
@JenniferBasalone - 問題ありません。私は役に立つとうれしいです:-)。 – mgilson