TypeError: 'module' object is not callable错误处理

新手入门,在一个文件中引用其它文件定义的类报错:

定义Logger模块 ,文件名为Logger.py

# -*- coding:utf-8 -*-

'''
自定义日志封装类
返回logger类型对象,用于记录日志
'''

import os
import logging
import time
class Logger(object):
    def __init__(self, loggername):
        """
        指定保存日志的文件路径,日志级别,以及调用文件
            将日志存入到指定的文件中
        :param logger:
        """
        # 创建一个logger
        self.logger = logging.getLogger(loggername)
        self.logger.setLevel(logging.DEBUG)

        # 创建日志名称。
        #rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))

        rq = loggername  #传入日志参数

        # os.getcwd()获取当前文件的路径,os.path.dirname()获取指定文件路径的上级路径 当前路径的下的logs日志文件夹
        # log_path = os.path.dirname(os.getcwd()) + os.getcwd().split('/')[-1] + '/logs/'

        log_path = os.getcwd() + '/logs/'
        log_name = log_path + rq + '.log'
        # 创建一个handler,用于写入日志文件
        fh = logging.FileHandler(log_name)
        fh.setLevel(logging.INFO)

        # 再创建一个handler,用于输出到控制台
        ch = logging.StreamHandler()
        ch.setLevel(logging.INFO)

        # 定义handler的输出格式
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 给logger添加handler
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)

    def getlog(self):
        return self.logger
# 测试使用
# # 获取对象,并写入日志操作
# logger = Logger('test1.log').getlog()
# logger.info('log message foorbar')
# logger.debug('logkkkk message foorbar')
定义tmp.py 进行引用 测试

tmp.py文件
内容 :

# -*- coding:utf-8 -*-

import os
import logging
import logging.handlers
import Logger
#from Logger import Logger  #引入对象类 从Logger模块导入Logger类



# 获取对象,并写入日志操作
#一个文件是一个模块名,在不同文件的引入,需要先引入模块名,创建对象名,然后再引用对象的变量或者是方法
# Logger.Logger('test1.log').getlog()   自定义模块名+对象名+方法名

#使用 logger = Logger('test1.log').getlog() 会报错:TypeError ,原因是引用的模块,并没有创建对象
logger = Logger.Logger('test1.log').getlog()
logger.info('log message foorbar')





你可能感兴趣的:(python)