zoukankan      html  css  js  c++  java
  • 自动化解压文夹压缩包

    import os
    import datetime
    import logging
    import paramiko
    import tarfile
    import gzip
    
    # filename:设置日志输出文件,以天为单位输出到不同的日志文件,以免单个日志文件日志信息过多,
    # 日志文件如果不存在则会自动创建,但前面的路径如log文件夹必须存在,否则会报错
    basePath = os.getcwd()
    log_file = 'sys_%s.log' % datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d')
    log_file = os.path.join(basePath,"log",log_file)
    if  os.path.exists(log_file):
        os.remove(log_file)
    if not os.path.exists(os.path.dirname(log_file)):
        os.mkdir(os.path.dirname(log_file))
    # level:设置日志输出的最低级别,即低于此级别的日志都不会输出
    # 在平时开发测试的时候可以设置成logging.debug以便定位问题,但正式上线后建议设置为logging.WARNING,既可以降低系统I/O的负荷,也可以避免输出过多的无用日志信息
    log_level = logging.INFO
    # format:设置日志的字符串输出格式
    log_format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s'
    logging.basicConfig(filename=log_file, level=logging.WARNING, format=log_format)
    logger = logging.getLogger()
    logger.setLevel(log_level)
    
    
    # 遍历文件夹
    def walkFile(file):
        for root, dirs, files in os.walk(file):
    
            # root 表示当前正在访问的文件夹路径
            # dirs 表示该文件夹下的子目录名list
            # files 表示该文件夹下的文件list
            # 遍历文件
            for f in files:
                filePath = os.path.join(root, f)
                print(filePath)
                if filePath.endswith(".tar.gz"):
                    untar(filePath)
    
    def untar(filePath):
    
        # 解压
        with tarfile.open(filePath, 'r:*') as tar:
            tar.extractall(path=os.path.dirname(filePath))  # 可设置解压地址
        logger.info("{} 解压完成")
    
    
    if __name__ == "__main__":
        logger.info("-----------------执行开始--------------------------->")
        filePath = input("请输入要解压文件目录:")
        walkFile(filePath)
        logger.info("<-----------------执行结束---------------------------")
        print("解压结束")
        input("按ENTER结束")
        
    
  • 相关阅读:
    小菜读书---《程序员修炼之道–从小工到专家》
    小菜读书--《大话设计模式》
    darknet-mini:带注释的darknet简化版,助你深入理解YOLO
    如何使用VLC进行视频录像
    海康相机打开的方法
    YOLOv5训练自己的数据集(超详细完整版)
    用GANs来做数据增强
    torch ----------->>>>rknn
    Linux下的tar压缩解压缩命令详解
    小缺陷目标检测网络--PCB缺陷检测—TDD-net
  • 原文地址:https://www.cnblogs.com/lonelyhiker/p/13152698.html
Copyright © 2011-2022 走看看