os模块
通过os模块我们可以与操作系统交互, 控制文件和文件夹
对文件夹操作
# 判断是否为文件夹
os.path.isdir()
# 创建文件夹
os.mkdir()
# 删除文件夹
os.rmdir()
# 列出文件夹内所有文件(返回列表)
os.listdir()
# 当前文件所在文件夹路径
os.getcwd()
# 所在文件夹的路径
os.path.dirname()
# 拼接文件路径
res = os.path.join(r'C:UsersBlackDocumentsPython learning', 'test', 'test.py')
print(res) # C:UsersBlackDocumentsPython learning est est.py
# 判断路径是否存在
os.path.exists()
对文件进行操作
# 判断是否为文件
os.path.isfile()
# 删除文件
os.remove()
# 重命名文件
os.rename(原来, 现在)
# 获取文件路径
os.path.abspath(__file__)
sys模块
# 命令行参数List,第一个元素是程序本身路径
res = sys.argv
# 返回所有已经导入的模块列表
sys.modules.keys()
json 和pickle模块
-
序列化: 把对象(变量)从内存中变成可存储或传输的过程称之为序列化
-
优点: 可持久保存; 跨平台数据交互
-
python数据类型---序列化---> json串
-
json串---反序列化---> python数据类型
-
注意: 1. 处理文件时用dump 和 load, 其他情况用dumps 和 loads
2. json串中只有双引号
-
pickle 只能用于Python, 但是可以存储Python中所有的数据类型
logging模块
日志等级
日志类型 | 描述 | level |
---|---|---|
DEBUG | 最详细的日志信息,典型应用场景是 问题诊断 | 10 |
INFO | 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作 | 20 |
WARNING | 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低), 但是此时应用程序还是正常运行的 | 30 |
ERROR | 由于一个更严重的问题导致某些功能不能正常运行时记录的信息 | 40 |
CRITICAL | 当发生严重错误,导致应用程序不能继续运行时记录的信息 | 50 |
当指定一个日志级别之后, 会记录大于或者等于这个级别的日志信息, 小于的会被丢弃
Python 默认打印级别大于等于30的日志类型
longging模块的四大组件
组件名称 | 对应类名 | 功能描述 |
---|---|---|
日志器 | Logger | 提供了应用程序可一直使用的接口 |
处理器 | Handler | 将logger创建的日志记录发送到合适的目的输出 |
过滤器 | Filter | 提供了更细粒度的控制工具来决定输出哪条日志记录,丢弃哪条日志记录 |
格式器 | Formatter | 决定日志记录的最终输出格式 |
自定义配置
- 定义logger对象
bigb_logger = logging.Logger('bigb')
- 设置日志格式
formatter1 = logging.Formatter('%(asctime)s - %(name)s -%(thread)d - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p ', )
- 设置handler
h1 = logging.FileHandler('bigb.log')
- 为handler配置格式
h1.setFormatter(formatter1)
- 把handler绑定给logger对象
bigb_logger.addHandler(h1)