Python 调用函数C时,使用另一个类中函数B在函数A中的返回值

Python 调用函数C时,使用另一个类中函数B在函数A中的返回值,python,Python,我有几节课。一个主类有一个方法get\u new\u cert,它将调用另一个类中的方法update\u cert,但我需要从第三个类(VaultCert)传递方法read\u cert的返回值 我的主要功能如下所示: def get_new_cert(self, domain): print("Domain: " + domain) if domain == domain: print("Matches given domain variable - get_n

我有几节课。一个主类有一个方法
get\u new\u cert
,它将调用另一个类中的方法
update\u cert
,但我需要从第三个类(
VaultCert
)传递方法
read\u cert
的返回值

我的主要功能如下所示:

def get_new_cert(self, domain):
    print("Domain: " + domain)
    if domain == domain:
        print("Matches given domain variable - get_new_cert")
        UpdateCert(VaultCert(domain), self.list_certs(
            domain), VaultCert.key_data)
    else:
        print("something gone done broke - get_new_cert")
cert, key_data, chained_cert = read_cert(domain)
VaultCert
read\u cert
方法是:

def read_cert(self, domain):
    cert = client.secrets.kv.v1.read_secret(
        path='certs/' + domain + '/crt',
        mount_point='secret/'
    )
    print('The certificate is: {crt}'.format(
        crt=cert['data']['value'],
    ))

    key_data = client.secrets.kv.v1.read_secret(
        path='certs/' + domain + '/key',
        mount_point='secret/'
    )
    print('The key is: {key}'.format(
        key=key_data['data']['value'],
    ))

    chained_cert = client.secrets.kv.v1.read_secret(
        path='certs/' + domain + '/chained-crt',
        mount_point='secret/'
    )
    print('The chained cert is: {key}'.format(
        key=chained_cert['data']['value'],
    ))

    return cert, key_data, chained_cert
调用
VaultCert
作为其参数之一的
update\u cert
方法是:

def update_cert(self, cert, chained_cert, key, arn):
    try:
        response = client.import_certificate(
            CertificateArn=arn,
            Certificate=cert,
            PrivateKey=key,
            CertificateChain=chained_cert,
        )
        print("Cert imported")
    except ClientError as err:
        print(err)
    else:
        print("Cert not imported")
    response = client.get_certificate(
        CertificateArn=response["CertificateArn"])
    print(response)

您的问题似乎是如何使用函数返回值的元组进行进一步处理

要实现这一点,只需按如下方式分配返回的元组:

def get_new_cert(self, domain):
    print("Domain: " + domain)
    if domain == domain:
        print("Matches given domain variable - get_new_cert")
        UpdateCert(VaultCert(domain), self.list_certs(
            domain), VaultCert.key_data)
    else:
        print("something gone done broke - get_new_cert")
cert, key_data, chained_cert = read_cert(domain)
并使用它调用以下函数(添加第四个参数),如下所示:

update_cert(cert, chained_cert, key_data, arn)
使用三个不同类中的函数完成示例(使用一些伪值):


您的问题似乎是如何使用函数返回值的元组进行进一步处理

要实现这一点,只需按如下方式分配返回的元组:

def get_new_cert(self, domain):
    print("Domain: " + domain)
    if domain == domain:
        print("Matches given domain variable - get_new_cert")
        UpdateCert(VaultCert(domain), self.list_certs(
            domain), VaultCert.key_data)
    else:
        print("something gone done broke - get_new_cert")
cert, key_data, chained_cert = read_cert(domain)
并使用它调用以下函数(添加第四个参数),如下所示:

update_cert(cert, chained_cert, key_data, arn)
使用三个不同类中的函数完成示例(使用一些伪值):


你的问题是什么?一个你想完成的最简单的工作例子会很好;这里有太多不相关的代码。问题是如何在update\u cert方法中使用read\u cert的返回值。这些是在不同的类中。你在同一个文件中定义了你的类吗?不,这些类是在不同的文件中定义的,这些类是导入的。你的问题是什么?一个你想完成的最简单的工作示例会很好;这里有太多不相关的代码。问题是如何在update\u cert方法中使用read\u cert的返回值。它们在不同的类中。您是否在同一个文件中定义了类?否,这些类在单独的文件中定义,这些类是导入的