如何在我可以给它一个参数的地方做这个函数

时间:2019-05-08 04:05:02

标签: python-3.6

所以我做了这个很小的功能。它是简单易用的功能,但坦率地说,这限制了我的功能。该功能按预期工作,但我想进一步介绍。我想这样做,所以我可以给它一个参数(用户名)并仅获取该单个用户的信息,或者默认为报告所有用户。是不是有可能从目前的情况开始?

我只是四处看看,看到了一些示例,但是没有什么适合我的脚本。至少我能理解。

import boto3

iam = boto3.client('iam')

def user_group():
    for myusers in iam.list_users()['Users']:
        Group = iam.list_groups_for_user(UserName=myusers['UserName'])
        print("User: "  + myusers['UserName'])
        for groupName in Group['Groups']:
            print("Group: " + groupName['GroupName'])
        print("----------------------------")
user_group()

我希望能够以两种方式运行此脚本。

1)添加一个“用户名”参数,这样我就可以获得特定用户的响应

2)默认情况下,如果不指定任何参数,将获得所有用户的响应。

1 个答案:

答案 0 :(得分:1)

这可以通过使用具有默认值的参数来完成:

def user_group(user = None):
    if user is None:
        print("No user")
    else:
        print(user)

user_group()
user_group('some user')

打印

No user
some user

您可能要写

def user_group(user = None):
    users_to_list = iam.list_users()['Users'] if user is None else [user]
    for myusers in user_to_list:
        ...