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

作者站长头像
站长
· 阅读数 6

使用了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 也是报同样的错误

回复
1个回答
avatar
test
2024-06-23

你写的是__int__,不是__init__

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容