使用类时发生Name not definef错误

2024-05-20 11:00:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我面临的问题与代码是框架与类。你知道吗

基本上以前它只是一个定义了函数的文件。你知道吗

所以当我试图用命令python执行文件时文件名.py,根据需要工作正常。你知道吗

代码示例如下:

# Getting the tenant list 
# Fetch the creation_date of tenant if exists
def get_tenants():

    # Fetch tenant list
    tenants_list = keystone.tenants.list()

    # Fetch tenant ID
    for tenant in tenants_list:
        tenant_id = tenant.id
.
.
.

get_tenants()

因此,正如我试图调用gettenants函数的文件中的aboce代码所示,它也可以根据需要正常工作,没有任何错误。你知道吗

现在我已经创建了这个类,然后将所有函数移到同一个类中。你知道吗

上面的函数现在重写如下。你知道吗

def get_tenants(self):

        # Fetch tenant list
        tenants_list = keystone.tenants.list()

        # Fetch tenant ID
        for tenant in tenants_list:
            tenant_id = tenant.id

然后我调用函数如下:

billing = BillingEngine()
billing.get_tenants()

但是,现在我得到的错误如下:

root@devstack:/opt/open-stack-tools/billing# python new_class.py
Traceback (most recent call last):
  File "new_class.py", line 281, in <module>
    BillingEngine().get_tenants()
  File "new_class.py", line 75, in get_tenants
    tenants_list = keystone.tenants.list()
NameError: global name 'keystone' is not defined

注意:如果需要,我们将提供完整的文件。你知道吗


Tags: 文件函数代码inpyidnewget