20 内置模块

python中表示时间的几种方式:
1.时间戳:
	时间戳表示是从19701100:00:00开始到现在按秒计算的偏移量
2.UTC(世界协调时):
	就是格林威治天文时间,也是世界标准时间。在中国为UTC+8
3.元组方式:
	struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()

struct_time

tm_year :年
tm_mon :月(1-12)
tm_mday :日(1-31)
tm_hour :时(0-23)
tm_min :分(0-59)
tm_sec :秒(0-59)
tm_wday :星期几(0-6,0表示周日)
tm_yday :一年中的第几天(1-366)
tm_isdst :是否是夏令时(默认为-1

时间字符串支持的格式符号:(区分大小写)


%a  本地星期名称的简写(如星期四为Thu)      
%A  本地星期名称的全称(如星期四为Thursday)      
%b  本地月份名称的简写(如八月份为agu)    
%B  本地月份名称的全称(如八月份为august)       
%c  本地相应的日期和时间的字符串表示(如:15/08/27 10:20:06%d  一个月中的第几天(01 - 31%f  微妙(范围0.999999%H  一天中的第几个小时(24小时制,00 - 23%I  第几个小时(12小时制,0 - 11%j  一年中的第几天(001 - 366%m  月份(01 - 12%M  分钟数(00 - 59%p  本地am或者pm的相应符      
%S  秒(00 - 59%U  一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之    前的所有天数都放在第0周。     
%w  一个星期中的第几天(0 - 60是星期天)    
%W  和%U基本相同,不同的是%W以星期一为一个星期的开始。    
%x  本地相应日期字符串(如15/08/01%X  本地相应时间字符串(如08:08:10%y  去掉世纪的年份(00 - 99)两个数字表示的年份       
%Y  完整的年份(4个数字表示年份)
%z  与UTC时间的间隔(如果是本地时间,返回空字符串)
%Z  时区的名字(如果是本地时间,返回空字符串)       
%%%’字符

logging模块



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


# formatter格式

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

# os/ sys/ time/ logging 模块

# import os
# 1.os模块: 包含普遍的操作系统功能
# 1>os.getenv()  读取环境变量
# print(os.getenv('path'))
# print(os.environ)

# 2>os.path.split()  把路径分为两部分,1个是目录路径, 1个文件名
# print(os.path.split('D:/pytest2/08基础班/25内置模块/1.内置模块01.py'))
# print(os.path.split('D:\\pytest2\\08基础班\\25内置模块\\1.内置模块01.py'))
# print(os.path.split(r'D:\pytest2\08基础班\25内置模块\1.内置模块01.py'))
#
# print(os.path.dirname(r'D:\pytest2\08基础班\25内置模块\1.内置模块01.py'))  # 分割的第一个元素
# print(os.path.basename(r'D:\pytest2\08基础班\25内置模块\1.内置模块01.py')) # 分割的第二个元素

# 3>os.path.exisits() 判断路径是否存在 ,存在返回True,  不存在返回False
# print(os.path.exists(r'D:\pytest2\08基础班\25内置模块\1.内置模块02.py'))

# 4>os.path.isabs(): 判断是否是绝对路径
# print(os.path.isabs(r'D:\pytest2\08基础班\25内置模块\1.内置模块01.py'))
# 判断一个文件是否存在
# print(os.path.isfile(r'D:\pytest2\08基础班\25内置模块\1.内置模块01.py'))
# 判断一个文件夹是否存在
# print(os.path.isdir(r'D:\pytest2\08基础班\25内置模块'))

# 5> os.path.abspath()
# print(os.path.abspath('.'))  # 返回当前文件的绝对路径
# print(os.path.abspath('../../'))  # 返回上一层的绝对路径


# 2.sys模块:负责程序与python解释器的交互
# import sys
# print(sys.getdefaultencoding())  # 获取系统当前编码
# print(sys.path) # 返回环境变量的路径
# print(sys.platform)  # 返回当前系统平台, 比如:win32  Linux等
# print(sys.version)  # 查看目前系统的python版本

# 3.time模块:专门用来处理时间
import time

# 时间戳
# print(time.time())
# time.sleep(2)   # 睡眠

# 1>time.localtime() 将时间戳转换为当前时区的struct_time
# t1 = time.localtime()
# print(type(t1))
# print(t1[0])
# print(t1.tm_mon)

# 2>time.asctime()
# print(time.asctime())  # Wed Oct 14 21:11:34 2020

# 3>time.strftime(format, t) : 返回字符串表示当地时间
# format:格式化字符串   t:struct_time对象(可选)
# print(time.strftime('%Y-%m-%d', time.localtime()))
# print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))

# 4>time.strptime(str, format): 将字符串转换成struct_time对象
# str:时间字符串    # format:格式化字符串
# stime = '2020.10.14 19:00:23'
# print(time.strptime(stime, '%Y.%m.%d %H:%M:%S'))

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

# 默认的日志级别是WARNING

import logging
# 举例一:
# 对logging来进行配置, 日志文件后缀是log   level:设置日志文件等级
# logging.basicConfig(filename='exam.log', level=logging.DEBUG)
# # 调试信息
# logging.debug('this is debug')

# # 普通信息
# logging.info('this is info')
# # 警告信息
# logging.warning('this is warning')


# 举例二:
# basicConfig写一个就可以了,多的不会执行
# logging.basicConfig(format='日志级别:%(levelname)s 日志内容:%(message)s', level=logging.DEBUG)
# logging.basicConfig(format='日志时间:%(asctime)s\n'
#                            '日志内容:%(message)s',
#                     level=logging.INFO
#
# )
# logging.debug('this is debug')
# logging.info('this is info')
# logging.warning('this is warning')

# 举例三:日志管理器
# 步骤:1.初始化对象 2.设置级别   3.定义handler(控制显示方式)  4.格式化输出
# 日志模块组件:
# 1.日志器:logger 提供了应用程序可以一直使用的接口
# 2.处理器:handler  将创建的日志记录发送到合适的目的输出
# 3.格式器:formatter 决定日志的输出格式

# # # 创建一个logger对象  初始化
# logger = logging.getLogger('test')  # 实例化对象,可以不写名称
# logger.setLevel(logging.DEBUG)
# #
# # # 定义handler
# # # 1.控制台显示
# sh = logging.StreamHandler()
# # # 达到什么级别在控制台输出
# sh.setLevel(logging.INFO)
# #
# # # 2.在文件里面显示
# fh = logging.FileHandler('ftest.log', encoding='utf-8')
# fh.setLevel(logging.ERROR)
# #
# # 格式化输出,定义日志格式
# formatter = logging.Formatter(
#     '日志级别:%(levelname)s'
#     '日志消息:%(message)s'
# )
#
# # 告诉他以什么样的格式输出
# sh.setFormatter(formatter)
# fh.setFormatter(formatter)
#
# # 将logger 添加到handler 里面
# logger.addHandler(sh)
# logger.addHandler(fh)
#
#
# # 日志
# # logger.debug('测试中')
# # logger.info('正常运行')
# # logger.warning('警告')
# # logger.error('错误')
# # logger.critical('危险')
#
# # 结合异常
# try:
#     a
#
# except Exception as e:
#     logger.error(e)
#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值