python复制文件夹-忽略日志文件

在应用升级前,经常需要先备份应用目录,不过一般都是要忽略日志目录或日志文件*.log,使用python写了个脚本,原来python自带过滤函数,自己还找了那么久。。。。。。

# -*- coding: utf-8 -*-
__author__ = 'yangwenren'
import sys
import os
import time
import shutil
import datetime

reload(sys)
sys.setdefaultencoding('utf8')

# 今天日期的字符串
today_str = datetime.datetime.today().strftime("%Y%m%d")

# 当前工作目录
project_path = os.getcwd()

# 拷贝的应用根目录名字
app_name = "kcbp"

# 拷贝目录
source_path = r"D:\kcbp"
dst_path = "D:\\backup" + os.sep + today_str + os.sep + app_name


# 拷贝文件
def copyfile(source, dst):
    if not os.path.exists(des_path):
        # 可以忽略某些文件夹,这里是精确匹配,忽略log文件夹,可以使用“*.log”忽略日志文件
        shutil.copytree(source, dst, ignore=shutil.ignore_patterns('log'))
    else:
        print "目录已经存在,请先整理。。。"


# 主函数
if __name__ =="__main__":
    # 备份
    copyfile(source_path, dst_path)

    print "End Task......"
    
    time.sleep(300)

你可能感兴趣的:(python)