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结束")
        
    
  • 相关阅读:
    videojs 隐藏videobar
    nw 系统托盘的添加方式,以及ajax失效问题
    nw 注册快捷键
    bg-script 错误信息显示,以及global
    input 文件上传
    git stash,git cherry-pick
    安装Laravel
    nw + iframe嵌入page 滚动条问题
    require('nw.gui') 失效问题
    dell 交换机 双链路冗余
  • 原文地址:https://www.cnblogs.com/lonelyhiker/p/13152698.html
Copyright © 2011-2022 走看看