Python task()为关键字参数';获取了多个值;appdynhost';

Python task()为关键字参数';获取了多个值;appdynhost';,python,python-2.7,Python,Python 2.7,我只是尝试接收一个输入,通过一些if、elif条件运行它,并替换一堆行中的某些文本: def task(appdynhost): if (appdynhost) == "security": appdynpass = 'xxxxxxxx' elif (appdynhost) == "security2": appdynpass = 'yyyyyyyy' elif (appdynhost) ==

我只是尝试接收一个输入,通过一些if、elif条件运行它,并替换一堆行中的某些文本:

    def task(appdynhost):
        if (appdynhost) == "security":
            appdynpass = 'xxxxxxxx'
        elif (appdynhost) == "security2":
            appdynpass = 'yyyyyyyy'
        elif (appdynhost) == "security3":
            appdynpass = 'zzzzzzzz'
        elif (appdynhost) == "security4":
            appdynpass = 'wwwwwwww'
        replacements = {'<controller_name>':appdynhost,'<controller_password>';appdynpass}

        s = r"""
"standardenv::v2_0_0_0_0":
"appgroups::v1_0_0_0_0":
definitions:
jdk: {gid: 5007}
app: {gid: 5008}
"appusers::v1_0_0_0_0":
definitions:
jdk: {group: jdk, uid: 5007}
app: {group: app, uid: 5008}
"jdk::v1_7_45_2_0::standard":
instance_owner: jdk
instance_group: jdk
"app::v1_1_2_1_0::standard":
instance_owner: app
instance_group: app
controller_host: "<controller_name>.saas.com"
account_name: "<controller_name>"
account_password: "<controller_password>" """
        line=s.split()
        for line in s.splitlines():
            for src, target in replacements.iteritems():
                line = line.replace(src, target)
            lines.append(line)
        with open('DC_mcp.yaml', 'w') as outfile:
            for line in lines:
                outfile.write(line + '\n')
                print (line)
我正在获取appdynhost的输入作为原始输入。我不确定出了什么问题。

您对“task”函数的定义只有一个参数,您将其命名为“appdynhost”

但是,您的电话有以下几种:

    return task_module.task(env, **inputs)
    TypeError: task() got multiple values for keyword argument 'appdynhost'
在函数或调用中,您需要修复输入

    def task(appdynhost):
            ...
    return task_module.task(env, **inputs)
    TypeError: task() got multiple values for keyword argument 'appdynhost'