1.re module
pass
2.logging
#logging 显示信息根据级别定 #--------------------------logging--------------- ''' import logging logging.basicConfig( level = logging.DEBUG, filename = "logger.log", filemode = "w", format = "%(asctime)s %(filename)s[%(lineno)d] %(message)" ) #asctime结构化时间 logging.basicConfig(level=logging.DEBUG) logging.debug("debug message") logging.info("info message") logging.warning("warning message") logging.error("error message") logging.critical("critical message") ''' #上述代码输出一下内容 ''' 2016-12-14 11:51:31,276 logging.py[14] debug message 2016-12-14 11:51:31,276 logging.py[15] info message 2016-12-14 2016-12-14 11:51:31,276 logging.py[16] warning message 2016-12-14 11:51:31,276 logging.py[17] errpr message 2016-12-14 11:51:31,276 logging.py[18] critical message ''' #--------------------------------------logger------------------- # def logger(): # logger = logging.getLogger() # fh = logging.FileHandler("logging") #向loggingtext中发送文件内容 # ch=logging.StreamHandler() #向屏幕上发送文件内容 # fm = logging.Formatter("%(asctime)s %(message)s") #输入要输出的格式 # fh.setFormatter(fm) #fh,ch设置输出格式 # ch.setFormatter(ch) # logger.addHandler(fh) #l向ogger中添加入fh,ch # logger.addHandler(ch) # logger.setLevel("DEBUG") # #-----------------------------------以下调用logger # logger.debug("hello") # logger.info("hello") # logger.warning("warning") # logger.error("error") # logger.critical("critical") #------------------------------------------ import logging logger = logging.getLogger() #创建根用户,根logger对象;根用户下有两个对象mylogger logger.setLevel(logging.WARNING)#设置logger等级 logger1 = logging.getLogger("mylogger") #导入logging模块 logger1.setLevel(logging.DEBUG)#设置logger1等级 # logger2 = logging.getLogger("mylogger") # logger2.setLevel(logging.WARNING) fh = logging.FileHandler("test_log_new") #把logging中的内容添加到test_log_new ch = logging.StreamHandler() #向屏幕中投射logging传过来的内容 logger.addHandler(ch) #往logger中添加ch和fh内容 logger.addHandler(fh) logger1.addHandler(fh) #往logger1中添加ch和fh内容 logger1.addHandler(ch) # logger2.addHandler(fh) # logger2.addHandler(ch) logger.debug("logger debug message") logger.info("logger info message") logger.warning("logger warning message") logger.error("logger error message") logger.critical("logger critical message") logger1.debug("logger1 debug message") logger1.info("logger1 info message") logger1.warning("logger1 warning message") logger1.error("logger1 error message") logger1.critical("logger1 critical message") ''' 上述代码输出以下内容 logger warning message logger error message logger critical message logger1 debug message logger1 info message logger1 warning message logger1 error message logger1 critical message logger1 debug message logger1 info message logger1 warning message logger1 error message logger1 critical message 注意点: 1.子对象的名字不能重复,否则第一次子对象输出被覆盖 2.logger1输出两次是因为每次调用子对象时,会搜索父对象是否在工作?如果父对象工作,会输出一次父对象内容,父对象有几级,就输出几次打印内容 '''