python的datetime和logging模块

本文详细介绍了Python中datetime模块的使用方法,包括日期、时间、日期时间及时间间隔的操作,并展示了如何利用logging模块记录日志。

atetime 模块中 主要类:

 

日期: datetime.date( year, month, day )

时间: datetime.time( hour, minute, second, microsecond )

日期时间: datetime.datetime( year, month, day,hour, minute, second, microsecond )

时间间隔 : datetime.timedelta( days=0, seconds=0, microseconds=0 milliseconds=0,minutes=0, hours=0, weeks=0 )

 datetime.datetime( ) 类中的常用方法:

1. now ():返回当前日期时间的datetime对象

2. utcnow(…):返回当前日期时间的UTC datetime对象

3.strptime(…):解析成datetime对象。根据string, format 2个参数,返回一个对应的datetime对象

strp = datetime.datetime.strptime("2018-12-22 22:22:22", "%Y-%m-%d %H:%M:%S")

4.strftime(): 格式化时间

b = strp.strftime("%m-%d-%Y %H:%M:%S")

5.时间戳转日期时间: t1= datetime.datetime.fromtimestamp(ts)

6日期时间转时间戳:t2=t1.timestamp()

7.获取datetime对象 中数据:

 

时间运算 :  返回timedelte() 对象

timedelta类是用来计算二个datetime对象的差值的。

此类中包含如下属性:

1、days:天数

2、microseconds:微秒数

3、seconds:秒数(>=0 并且 <1天)

4、total_seconds : 总秒数

 

Logging模块用法

1. 初始化 logger = logging.getLogger(“name")

2. 设置级别 logger.setLevel(logging.DEBUG)

Logging中有NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL这几种级别

日志会记录设置级别以上的日志

3. 定义Handler

常用的是StreamHandler和FileHandler

StreamHandler:将日志在控制台输出

FileHandler: 将日志记录到文件里面

4. Formatter,定义了log信息的 内容 和格式

例如:'[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S'

Formatter 中已有格式 :

 

 

 

 

 

转载于:https://www.cnblogs.com/wangwei13631476567/p/9037716.html

### Python `logging` 模块功能概述 Python 的 `logging` 模块提供了灵活的日志处理机制,允许开发者记录不同严重程度的消息到不同的目标位置。通过配置合适的处理器、格式化器过滤器,可以实现复杂而强大的日志管理方案[^1]。 #### 日志级别介绍 该模块定义了几种级别的日志消息,按照重要性紧急程度递增排列: - **DEBUG**: 调试信息,在开发过程中非常有用; - **INFO**: 描述正常操作的信息; - **WARNING**: 表明某些意外情况发生,但仍不是错误状态; - **ERROR**: 错误事件可能阻止程序执行的部分成功完成; - **CRITICAL**: 特别严重的错误,可能导致应用程序无法继续运行; 这些可以通过简单的调用来触发相应的日志输出[^2]: ```python import logging logging.basicConfig(level=logging.DEBUG) logging.info("这是一个普通的信息") logging.debug("这是一个debug信息") logging.warning("这是警告信息") logging.error("出错了,兄弟") logging.critical("崩溃了") ``` 这段代码展示了如何设置基本配置并发出不同类型的通知给控制台。 #### 配置文件轮转与时间间隔设定 为了更好地管理保存历史日志数据,`TimedRotatingFileHandler` 类提供了一种按时间大小自动分割日志文件的方法。例如,每天午夜创建新的日志文件,并保留最近七天的日志副本[^4]: ```python from datetime import datetime import logging.handlers run_log = 'app.log' rf_handler = logging.handlers.TimedRotatingFileHandler( run_log, when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0) ) logger = logging.getLogger('my_logger') logger.addHandler(rf_handler) ``` 上述脚本设置了每晚零点切割一次日志文件,并保持最多七个旧版本存档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值