模块 json,sys,pickle,logging

2021-07-11 04:04

阅读:488

标签:sys   tmp   ict   ring   文件的   sys.path   weight   sys.argv   close   

sys模块

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

技术分享

========================================================sys.argv de 作用

 

技术分享

 

返回的命令是列表,通过列表把用户名和密码直接赋值

 

技术分享

技术分享

 

-------------------------------------sys.path  添加模块的路径,导入使用

 技术分享

============================logging 日志模块

 

import logging    
写日志文件的级别,依次增加权限 logging.debug(debug message) logging.info(info message) logging.warning(warning message) logging.error(error message) logging.critical(critical message‘)

日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。


DEBUG:详细的信息,通常只出现在诊断问题上
INFO:确认一切按预期运行
WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
ERROR:更严重的问题,软件没能执行一些功能
CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行



这5个等级,也分别对应5种打日志的方法: debug 、info 、warning 、error 、critical。默认的是WARNING,当在WARNING或之上时才被跟踪

默认打印三种级别
技术分享

====文件输出到屏幕 用basicConfig模块

技术分享

把日志写到文件里--------  用basicConfig模块

技术分享

 

 技术分享

日志文件固定格式  ,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  
技术分享

因为级别,纸打印error

 

 

----用logging.getlogger() 同时输出

 

 

技术分享

 

 定义一个函数写日志文件
def get_logger():

logger_obj=logging.getLogger()
print(type(logger_obj))      
fh=logging.FileHandler("logger_file.txt")    
fh.setLevel(logging.ERROR)
ch=logging.StreamHandler()
ch.setLevel(logging.CRITICAL)

formater=logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)

fh.setFormatter(formater)
ch.setFormatter(formater)

logger_obj.addHandler(fh)
logger_obj.addHandler(ch)

#logger_obj.setLevel(logging.DEBUG)

return logger_obj


logger_obj=get_logger()

logger_obj.info("info")
logger_obj.error("error")
logger_obj.warning("warning")
logger_obj.debug("debug")
logger_obj.critical("critical")


评论


亲,登录后才可以留言!