python3.12 为什么无法调用__init__中的属性?

python3.12 为什么无法调用__init__中的属性?

使用了python 3.12编写下列程序 运行时报错

class GetConfig(object):

def __int__(self):

current_dir = os.path.dirname(os.path.abspath(__file__))

print(current_dir)

sys_cfg_file = os.path.join(current_dir, "sysConfig.cfg")

self.conf = configparser.ConfigParser()

self.conf.read(sys_cfg_file)

def get_db_host(self):

db_host = self.conf.get("DB", "host")

return db_host

if __name__ == "__main__":

gc1 = GetConfig()

var = gc1.get_db_host()

报错信息:

Traceback (most recent call last):

File "D:\Code\InterfaceCrawlTool\getConfig.py", line 48, in <module>

var = gc1.get_db_host()

^^^^^^^^^^^^^^^^^

File "D:\Code\InterfaceCrawlTool\getConfig.py", line 21, in get_db_host

db_host = self.conf.get("DB", "host")

^^^^^^^^^

AttributeError: 'GetConfig' object has no attribute 'conf'

为什么会提示找不到属性呢?我尝试在__init__方法中加入self.name="test",然后使用
gc1 = GetConfig()
gc1.name 也是报同样的错误


回答:

你写的是__int__,不是__init__


回答:

Dube, 尽管他们很相似, 但是双胞胎也是有区别的。你写的是 __int__, 少了字母 i, 那可就不是python官方承认的 __init__了。

以上是 python3.12 为什么无法调用__init__中的属性? 的全部内容, 来源链接: utcz.com/p/939097.html

回到顶部