常见内置模块以及方法

Posted sr-program

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见内置模块以及方法相关的知识,希望对你有一定的参考价值。

一:logging模块

(1)日志模块

  (1)debug:调试信息

  (2)info: 程序运行输出的信息

  (3)warning:程序告警信息

  (4)error:程序错误信息

  (5)critical:严重错误

 

(2)日志等级:

  (1)debug:level = 10

  (2)info: level = 20

  (3)warni:level = 30

  (4)error:level = 40

  (5)critical:level = 50

 

(3)打印方式:

  (1)默认为打印到终端:默认打印到终端

  (2)打印实例

技术图片
logging.debug(打印debug)
logging.info(打印info)
logging.warning(打印warning)
logging.error(打印报错)
logging.critical(打印严重错误)

‘‘‘
WARNING:root:打印warning
ERROR:root:打印报错
CRITICAL:root:打印严重错误

‘‘‘
打印实例

PS:输出信息只能输出等级比自己大的 例如warning默认为30 其只能打印(30-50)

 

(3)logging模块的常规参数:

技术图片
可在logging.basicConfig()函数中通过具体参数来更改logging模块默认行为,可用参数有
filename:用指定的文件名创建FiledHandler(后边会具体讲解handler的概念),这样日志会被存储在指定的文件中。
filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。
format:指定handler使用的日志显示格式。 
datefmt:指定日期时间格式。 
level:设置rootlogger(后边会讲解具体概念)的日志级别 
stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件,默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。



#格式
%(name)s:Logger的名字,并非用户名,详细查看

%(levelno)s:数字形式的日志级别

%(levelname)s:文本形式的日志级别

%(pathname)s:调用日志输出函数的模块的完整路径名,可能没有

%(filename)s:调用日志输出函数的模块的文件名

%(module)s:调用日志输出函数的模块名

%(funcName)s:调用日志输出函数的函数名

%(lineno)d:调用日志输出函数的语句所在的代码行

%(created)f:当前时间,用UNIX标准的表示时间的浮 点数表示

%(relativeCreated)d:输出日志信息时的,自Logger创建以 来的毫秒数

%(asctime)s:字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

%(thread)d:线程ID。可能没有

%(threadName)s:线程名。可能没有

%(process)d:进程ID。可能没有

%(message)s:用户输出的消息
logging模块的常规配置

配置实例:

技术图片
logging.basicConfig(filename=access.log, # 设置接收文件
                    format=%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s, # 文件格式
                    datefmt=%Y-%m-%d %H:%M:%S %p, # 文件时间 %p 显示上下午
                    level=10) # 日志等级

logging.debug(调试debug)
logging.info(消息info)
logging.warning(警告warn)
logging.error(错误error)
logging.critical(严重critical)
配置实例

 PS:不能同时在终端 以及文件中接收日志 且在文件中日志会乱码 因为pycharm默认使用utf-8编码 而保存到文件夹中以自己系统为编码格式

例如:

技术图片
logging.basicConfig(filename=access.log, # 设置接收文件
                    format=%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s, # 文件格式
                    datefmt=%Y-%m-%d %H:%M:%S %p, # 文件时间 %p 显示上下午
                    level=10, # 日志等级
                    stream = sys.stdout)  # 输出到终端
                                        # ValueError: ‘stream‘ and ‘filename‘ should not be specified together

logging.debug(调试debug)
logging.info(消息info)
logging.warning(警告warn)
logging.error(错误error)
logging.critical(严重critical)

‘‘‘
2019-07-19 20:01:40 PM - root - DEBUG -day17:  ????debug
2019-07-19 20:01:40 PM - root - INFO -day17:  ???info
2019-07-19 20:01:40 PM - root - WARNING -day17:  ????warn
2019-07-19 20:01:40 PM - root - ERROR -day17:  ????error
2019-07-19 20:01:40 PM - root - CRITICAL -day17:  ????critical
 ‘‘‘
错误情形

 

以上是关于常见内置模块以及方法的主要内容,如果未能解决你的问题,请参考以下文章

python基础知识9——模块2——常见内置模块

Python常见内置模块

NodeJS常见内置模块

[Python]学习基础篇:常见的Python内置函数及模块

Python入门之模块——第2关:内置模块中的内置函数

Python入门之模块——第2关:内置模块中的内置函数