首页 > 解决方案 > Python:使用继承从脚本B访问脚本A中函数中的局部变量

问题描述

我在 A 类的函数中有一个局部变量。我初始化了类并声明了变量。我创建了一个返回变量的新函数。在脚本 2 类 B 中,我导入类 A 并创建一个引用类 A 中的函数的新 var。当我运行它时,它返回 None。这是代码:

脚本 A:A 类

class A:
    def __init__(self):
        
        self.username = None        
        self.password = None
            
    def getUserName(self):
        return self.username
    
    def get_secret(self):
    secret_name = ""
    
    self.username = None
    session = boto3.session.Session()
    client = session.client(
        service_name='secretsmanager',
        region_name=region_name
    )

      get_secret_value_response = client.get_secret_value(
            SecretId=secret_name
        )
    
        if 'SecretString' in get_secret_value_response:
            secret = get_secret_value_response['SecretString']
            creds = json.loads(secret)
            self.username = creds['username'] #Trying to return this value
        else:
           something

脚本 B:B 类

from Script_A import  A

   credentials = A()
   username = credentials.getUserName()
   print (username)

运行时脚本 B 返回无。任何帮助将不胜感激。看不到我做错了什么。

正确代码:

class A:
def __init__(self):

    self.username = None        
    self.password = None

def getUserName(self):
    self.get_secret()
    return self.username

def get_secret(self):
secret_name = ""

标签: pythonpython-3.xobjectinheritance

解决方案


推荐阅读