随笔 - 60  文章 - 2 评论 - 0 trackbacks - 0

p123-

shutil 模块

import shutil
#拷贝一个文件
shutil.copy2('a.txt','a_bak.txt')
#拷贝一个目录
shutil.copytree('aa','aa_bak')
#拷贝一个目录,但是忽略其中1个文件 __init__.py
shutil.copytree('aa','aa_bak',ignore=shutil.ignore_patterns('__init__.py'))
#获取磁盘空间
total,used,free = shutil.disk_usage("f:\\")
print(f'当前磁盘总共:{total/1073741824}  已使用:{used/1073741824}  剩余:{free/1073741824}')
#压缩文件夹, 尝试压缩文件失败
shutil.make_archive('aa','zip',r'E:\untitled1\aa')
#解压缩
shutil.unpack_archive('aa.zip',r'E:\untitled1\aa_u')

logging模块

  • log是为了排错

  • log用来做数据分析

  • logging 输出默认有等级

import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
#直接运行 只打印下面3个,  debug 和 info 等级比较低,不显示,可以在执行5个logging之前 改下等级
#日志必须自己写,规范写法
logging.basicConfig(
    format='%(asctime)s-%(name)s-%(levelname)s[line:%(lineno)d]-%(module)s:%(message)s',
    datefmt='【%Y-%m-%d %H:%M:%S】',
)
logging.warning('warrning message')
#return   【2020-07-27 16:58:44】-root-WARNING[line:46]-day21:warrning message
#以上是输出到屏幕,还可以输出到文件
logging.basicConfig(
    format='%(asctime)s-%(name)s-%(levelname)s[line:%(lineno)d]-%(module)s:%(message)s',
    datefmt='【%Y-%m-%d %H:%M:%S】',
    filename='tem.log',
    level=logging.DEBUG  # 就可以显示 debug 和 info 的报错 低级别的
)
logging.debug('debug 信息')
logging.info('info 信息')
logging.warning('warning 信息')
logging.error('error 信息')
logging.critical('critical 信息')
#结果写入文件5行 默认是追加
#可以把输出到文件名称提取
fh = logging.FileHandler('tem.log',encoding='utf-8') #获取要写入文件的句柄
logging.basicConfig(
    format='%(asctime)s-%(name)s-%(levelname)s[line:%(lineno)d]-%(module)s:%(message)s',
    datefmt='【%Y-%m-%d %H:%M:%S】',
    handlers=[fh], #设置句柄
    level=logging.DEBUG,  
)
logging.debug('debug 信息')
logging.info('info 信息')
logging.warning('warning 信息')
logging.error('error 信息')
logging.critical('critical 信息')
#还可以同时输出到文件,和屏幕
fh = logging.FileHandler('tem.log',encoding='utf-8')
sh = logging.StreamHandler() #获取流句柄
logging.basicConfig(
    format='%(asctime)s-%(name)s-%(levelname)s[line:%(lineno)d]-%(module)s:%(message)s',
    datefmt='【%Y-%m-%d %H:%M:%S】',
    handlers=[fh,sh], #设置句柄
    level=logging.DEBUG,
)
logging.debug('debug 信息')
logging.info('info 信息')
logging.warning('warning 信息')
logging.error('error 信息')
logging.critical('critical 信息')
posted on 2020-07-27 17:53  94小渣渣  阅读(19)  评论(0编辑  收藏