Python数据库 6.datetime与logging模块

6.1 datetime模块

datetime是python处理时间和日期的标准库

类名           功能说明?date    日期对象,常用的属性有year, month, day?time    时间对象hour,minute,second,毫秒?datetime    日期时间对象,常用的属性有hour, minute,              second, microsecond?timedelta   时间间隔,即两个时间点之间的长度

主要使用:

datetime.datetiem( ) 、  datetime.timedelta( )

1.datetime类中常用方法:

  • 1.获取当前日期时间:

    datetime.now();

  • 2.日期时间转化为时间戳:

    时间日期对象.timestamp();

    例如:datetime.now().timestamp()

  • 3.时间戳转化为日期时间:

    datetime.fromtimestamp(时间戳)

    例如: datetime.fromtimestamp(1534231316.796308)

  • 4.日期时间对象转字符串:

    时间日期对象.strftime(format)

    例如: datetime.now().strftime("%Y-%m-%d")

  • 5.字符串转日期时间对象:

    datetime.strptime(data_str, format)

    例如: datetime.strptime(‘2018-3-22 15:28:18‘, ‘%Y-%m-%d %H:%M:%S‘)

  • 6.格式字符串常用格式

    格式 描述

    %Y,%y 年 %m 月 %d 日 %H/%l 时 %M 分 %S 秒

2.timedelte:时间运算

datetime.timedelta( days=0,seconds=0, microseconds=0 milliseconds=0, minutes=0, hours=0, weeks=0 )

?

    import datetime

    now = datetime.datetime. now (). date()

    result = now + datetime. timedelta(days=1)    print (result. strftime ("%d"))  #获得明天的日期

    result = now 一 datetime.timedelta (days=3)    print (result. strftime("%d"))  #获得三天前的日期

    from datetime import datetime

    def get_days(birthday):        birth=datetime.strptime(birthday,‘%Y-%m-%S‘)        now=datetime.now()        days=now-birth        print(days.days)

    if __name__== ‘__main__‘:        birthday=input(‘shngri(1980-01-01):‘)        get_days(birthday)

???

6.2 logging模块

logging.level(message) 创建一条level级别的日志 logging.basicConfig() 对logger进行配置

?      import logging          LOG_FORMAT = ”%(asctime)s - %(1evelname)s-% (message)s”  #设置输出的格式          logging. basicConfig( level=logging. WARNING, format=LOG_FORMAT)            #写到文件中      logging. basicConfig( filename=‘my.log‘,filemode = ‘a‘,level=logging. WARNING, format=LOG_FORMAT)          logging. debug( This is a debug log )          logging. info( This is a info log”              logging. warning( This is a warning log")          logging. error( This is a errorlog")          logging. critical ( This is a critical 1og )

Logging 中几种级别:DEBUG < INFO < WARNING < ERROR < CRITICAL 默认显示后三个

日志等级(level) :

日志等级(level)  :      描述?DEBUG     调试信息,通常在诊断问题的时候用得着 INFO      普通信息,确认程序按照预期运行 ?WARNING   警告信息,表示发生意想不到的事情,或者指示接下来可能          会出现一些问题,但是程序还是继续运行    ?ERROR     错误信息,程序运行中出现了一些问题,程序某些功能不能执行CRITICAL    危险信息,一个严重的错误,导致程序无法继续运行
  • Formatter格式:

    %(asctime)s 日志事件发生的时间 %(levelname)s 该日志记录的日志级别 %(message)s 日志记录的文本内容 %(name)s 所使用的日志器名称,默认是‘root‘ %(pathname)s 调用日志记录函数的文件的全路径 %(filename)s 调用日志记录函数的文件 %(funcName)s 调用日志记录函数的函数名 %(lineno)d 调用日志记录函数的代码所在的行号

  • 组件 说明:(了解)

    Loggers(日志记录器) 提供程序直接使用的接口 Handlers(日志处理器) 将记录的日志发送到指定的位置 Filters(日志过滤器) 用于过滤特定的日志记录 Formatters(日志格式器) 用于控制日志信息的输出格式

模块化组件使用:

  • 1.创建一个logger(日志处理器)对象
  • 2.定义handler(日志处理器),决定把日志发到哪里

    StreamHandler 输出到控制台 FileHandler 输出到文件

  • 3.设置日志级别(level)和输出格式Formatters(日志格式器)
  • 4.把handler添加到对应的logger中去
?    import logging

    my_logger = logging . Logger( ‘ nanbei‘ )

    fh = logging. FileHandler( ‘my.log‘)    fh. setLevel(logging . INFO)

    fmt = logging . Formatter( ‘ %message)s - nanbei‘ )    fh. setFormatter( fmt )

    my_logger.addHandler(fh)??•       sh = logging .StreamHandler( )    sh.setLevel(logging. DEBUG)

    sh_fmt = logging. Formatter(‘%(message)s-nanbei-stream_ handler‘)

    sh. setFormatter(sh_fmt )    my_logger. addHandler(sh) 

    my_logger.info(‘成功‘)?

原文地址:https://www.cnblogs.com/dyf25288-/p/11701598.html

时间: 2024-08-30 16:16:29

Python数据库 6.datetime与logging模块的相关文章

08 datetime与logging模块(进阶)

datetime与logging模块 阶段一:日期与时间 1.datetime 模块中 主要类: 类名 功能说明 date 日期对象,常用的属性有year, month, day time 时间对象hour,minute,second,毫秒 datetime 日期时间对象,常用的属性有hour, minute, second, microsecond timedelta 时间间隔,即两个时间点之间的长度 日期: datetime.date( year, month, day ) 时间: date

Python之日志处理(logging模块)

本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日志输出中添加上下文信息 参考文档 一.日志相关概念 日志是一种可以追踪某些软件运行时所发生事件的方法.软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情.一个事件可以用一个可包含可选变量数据的消息来描述.此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level)

python避坑指南02——logging模块日志重复打印问题

目录 [TOC] 一.问题抛出 python的logging模块是python使用过程中打印日志的利器.我们可以使用logging模块的logger.Handler.formatter对我们的日志进行封装,指定日志输出的路径.格式以及位置.在声明logger的时候可以传一个字符串作为这个logger的标签.一直以为这个logger是以单例对象的设计模式设计的,只要这个标签名是一样的,那么返回的logger就是同一个.在打印日志的时候,想要实现日志分层,定义类如下函数来封装日志打印函数(由于源代码

python学习第五十二天logging模块的使用

很多程序都有记录日志的需求,并且日志包含的信息即有正常的程序访问日志,还可能有错误,警告等信息输出,python的 logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分debug(),info() warning() error() and critical()个级别,下面我们看一下怎么用 import logging logging.warning("www.96net.com.cn") logging,critical("ww

Python中的日志管理Logging模块

1.基本的用法 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印: WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING:日志级别大小关系为:CRITICAL > ERROR >

python+Appium自动化:日志logging模块

日志级别 debug.info.warn.error.critical五个级别 logging模块构成(四部分) logger(记录器,用于日志采集) Handler(处理器,将日志记录发送到合适的路径) Filter(过滤器,提供了更好的粒度控制,决定输出哪些日志记录) Formatter(格式化起,指明了日志的格式) logger(记录器) 在使用debug.info.warn.error.critical五个级别之前创建logging实例 方法:basicConfig()为日志记录系统做基

Python数据库 5.json,hashlib,base64模块

5.1 json JS对象 var teacher_1 = {   name: ‘juhao’,   age: 18, feature : [‘高’, ‘富’, ‘帅’]} JSON字符串 {   “name”: “juhao”,   “age”: 18, “ feature “ : [‘高’, ‘富’, ‘帅’]?} Python字典 {   ‘name’: ‘juhao’,   ‘age’: 18 ‘feature’ : [‘高’, ‘富’, ‘帅’]?} 注意 1.字符串必须用双引号(即:

python 的日志logging模块学习

最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 下面的代码展示了logging最基本的用法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 # -*- cod

Python中的logging模块

http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 下面的代码展示了logging最基本的用法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34