模块 json,sys,pickle,logging
2021-07-11 04:04
标签:sys tmp ict ring 文件的 sys.path weight sys.argv close ========================================================sys.argv de 作用 返回的命令是列表,通过列表把用户名和密码直接赋值 -------------------------------------sys.path 添加模块的路径,导入使用 ============================logging 日志模块 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。 DEBUG:详细的信息,通常只出现在诊断问题上 默认打印三种级别 ====文件输出到屏幕 用basicConfig模块 把日志写到文件里-------- 用basicConfig模块 因为级别,纸打印error ----用logging.getlogger() 同时输出 logger_obj=logging.getLogger() formater=logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘) fh.setFormatter(formater) logger_obj.addHandler(fh) #logger_obj.setLevel(logging.DEBUG) logger_obj.info("info")sys模块
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
import logging
写日志文件的级别,依次增加权限
logging.debug(‘debug message‘)
logging.info(‘info message‘)
logging.warning(‘warning message‘)
logging.error(‘error message‘)
logging.critical(‘critical message‘)
INFO:确认一切按预期运行
WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
ERROR:更严重的问题,软件没能执行一些功能
CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
这5个等级,也分别对应5种打日志的方法: debug 、info 、warning 、error 、critical。默认的是WARNING,当在WARNING或之上时才被跟踪
日志文件固定格式 ,basicConfig只能在屏幕上或者是在文件里写, 是有缺陷的
import logging
logging.basicConfig(level=logging.DEBUG,
format=‘%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s‘,
datefmt=‘%a, %d %b %Y %H:%M:%S‘,
filename=‘/tmp/test.log‘,
filemode=‘w‘)
logging.debug(‘debug message‘)
logging.info(‘info message‘)
logging.warning(‘warning message‘)
logging.error(‘error message‘)
logging.critical(‘critical message‘) =======logging.getlogger
定义一个函数写日志文件
def get_logger():
print(type(logger_obj))
fh=logging.FileHandler("logger_file.txt")
fh.setLevel(logging.ERROR)
ch=logging.StreamHandler()
ch.setLevel(logging.CRITICAL)
ch.setFormatter(formater)
logger_obj.addHandler(ch)
return logger_obj
logger_obj=get_logger()
logger_obj.error("error")
logger_obj.warning("warning")
logger_obj.debug("debug")
logger_obj.critical("critical")