# os:操作系统接口
import os
# result = os.getenv(‘path‘) # getenv()获取环境变量
# print(result)
# os.path.split() 把路径分为2部分 1个是目录路径 1个文件名
# os.path.dirname() 分割的第一个元素
# os.path.basename() 分割的第二个元素
# print(os.path.split(‘D:/Wilia/1.py‘)) # (‘D:/Wilia‘, ‘1.py‘)
# print(os.path.dirname(r‘D:\Wilia\1.py‘)) # D:\Wilia
# print(os.path.basename(r‘D:\Wilia\1.py‘)) # 1.py
# os.path.exists() 判断路径是否存在,存在为True,不存在False
# print(os.path.exists(r‘D:\Wilia\1.py‘)) # True
# print(os.path.isabs(r‘D:\Wilia\1.py‘)) # True 绝对路径:完整路径
# print(os.path.isfile(r‘D:\Wilia\1.py‘)) # True isfile是否是文件
# print(os.path.abspath(‘.‘)) # 返回当前路径的绝对路径 D:\Wilia\25.内置模块
# print(os.path.abspath(‘../‘)) # D:\Wilia
print(os.path.isdir(r‘D:\Wilia‘)) # True
import sys
"""
“函数和功能”:主要是对python解释器系统进行各种操作
1. sys.getdefaultencoding(): 获取系统当前编码
2. sys.path:返回环境变量的路径
3. sys.platform:返回当前系统平台
4. sys.version:查看目前系统python的版本
"""
# print(sys.argv) # [‘D:/python/untitled/基础/内置模块/sys模块.py‘]
# print(sys.getdefaultencoding()) # utf-8
# print(sys.path) # 返回环境变量的路径
# print(sys.platform) # win32 当前系统平台
# print(sys.version) # python version
"""
“函数和功能”:主要是用来处理python中时间的内置模块
1. time.time():获取的是一个时间戳
2. time.localtime():将时间戳转换为数组格式的时间
3. time.asctime():把表示时间的元组简化
4. time.strftime():选择性简化
5. time.strptime():将格式字符串转化成struct_time
"""
import time
# t1 = time.time()
# print(t1) # 1619613244.2331262
#
# t2 = time.localtime(t1)
# print(t2)
# # time.struct_time(tm_year=2021, tm_mon=4, tm_mday=28, tm_hour=20, tm_min=34, tm_sec=30, tm_wday=2, tm_yday=118, tm_isdst=0)
# # print(t2.tm_hour)
# # print(t2.tm_year)
#
#
# t3 = time.strftime(‘%Y-%m-%d %H:%M:%S‘, t2) # str 字符串, f 代表format格式化
# print(t3) # 返回字符串的当地时间
# # 2021-04-28 20:39:32
#
#
# # 反向转换
#
# t4 = time.strptime(t3, ‘%Y-%m-%d %H:%M:%S‘)
# print(t4)
# # time.struct_time(tm_year=2021, tm_mon=4, tm_mday=28, tm_hour=20, tm_min=41, tm_sec=30, tm_wday=2, tm_yday=118, tm_isdst=-1)
#
#
# t5 = time.mktime(t4)
# print(t5) # 1619613690.0
#
print(time.asctime()) # Wed Apr 28 20:44:39 2021
"""
python日志处理的方式:
1. print()
2. logging模块:能够查看所有运行相关的记录,按需设置日志级别后,来显示日志内容
“功能”:主要是用来在控制台输出日志
“日志”:是一种可以追踪某些软件运行时所发生事件的方法
“作用”:
1. 程序调试
2. 了解软件程序运行情况,是否正常
3. 软件程序运行故障分析与问题定位
“日志等级”:
DEBUG 调试信息
INFO 普通信息
WARNING 警告信息
ERROR 错误信息
CRITICAL 危险信息
"""
import logging
# # 1> 创建log文件
# logging.basicConfig(filename=‘test.log‘, level=logging.DEBUG)
#
# # 2> 在log文件中写入相关日志信息
# # 调试信息
# logging.debug("this is debug message !")
# # 普通信息
# logging.info("this is info !")
# # 警告信息
# logging.warning("this is warning !")
# # 错误信息
# logging.error("this is error !")
# # 危险信息
# logging.critical("this is critical !")
# %(levelname)s 日志级别
# %(msg)s or %(message)s 日志内容
# logging.basicConfig(format="日志级别: %(levelname)s \n 日志内容: %(msg)s", level=logging.DEBUG)
# logging.basicConfig(format="日志级别: %(levelname)s \n 日志内容: %(message)s", level=logging.DEBUG)
# #
# # # 调试信息
# # logging.debug("this is debug message !")
# # # 普通信息
# # logging.info("this is info !")
# # # 警告信息
# # logging.warning("this is warning !")
# # # 错误信息
# # logging.error("this is error !")
# # # 危险信息
# # logging.critical("this is critical !")
# #
# #
# # logging.basicConfig()
"""
配置日志管理器
步骤:
1. 初始化对象
2. 设置级别
3. 定义handler(主要是控制显示方式:控制台显示;在日志文件中显示)
4. 格式化输出
模块组件:
日志器:Logger 应用程序调用接口
处理器:Handler 把日志发送到指定的位置
过滤器:Filter 过滤日志信息(可选)
格式器:Formatter 格式化输出日志
"""
import logging
# 1. 创建一个logger日志管理器
l1 = logging.getLogger()
# 设置级别, 达到什么级别才能输出到控制台
l1.setLevel(logging.DEBUG)
# 2. 定义handler
# 在控制台输出,需要用到StreamHandler()
sh = logging.StreamHandler()
sh.setLevel(logging.DEBUG)
# 在文件输出,FilerHandler()
fh = logging.FileHandler(‘fileHandler.log‘, encoding=‘utf-8‘)
fh.setLevel(logging.WARNING)
# 3. 定义输出的格式 -- 格式化
fm = logging.Formatter(
‘Time : %(asctime)s‘
‘level: %(levelname)s‘
‘msg : %(message)s‘
)
# 4. 告诉哪些处理器要以上面的格式来进行输出
sh.setFormatter(fm)
fh.setFormatter(fm)
# 5. 将控制台处理对象sh和文件处理对象fh添加到logger日志管理器Handler中去 addHandler()
l1.addHandler(sh)
l1.addHandler(fh)
# 6. 设置每个级别的日志内容
l1.debug("debug")
l1.info("info")
l1.error("error")
l1.warning("warning")
l1.critical("critical")
### 结果 - file只有大于WARNING的日志,控制台有DEBUG的日志
原文:https://www.cnblogs.com/noise/p/14716055.html