# -- coding: utf-8 --
#date=2018-12-17
#author=831
##脚本功能,指定一个dir_list,然后执行该脚本,该脚本会对dir_list中的目录进行备份,dir_list的空目录会被删除 import os
import re
import sys
import shutil
from datetime import datetime, date, timedelta
##定义昨天的日期
YESTERDAT = (date.today() + timedelta(days = -1)).strftime("%Y-%m-%d")
#定义一个文件目录的list,
DIR_LIST = ["F:/log/733/","F:/log/738/","F:/log/829/","F:/log/1136/"]
def mkdir(path):
# 去除首位空格
path = path.strip()
# 去除尾部 \ 符号
path = path.rstrip("\")
# 判断路径是否存在
# 存在 True
# 不存在 False
isExists = os.path.exists(path)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(path)
print(path + ' 创建成功')
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print(path + ' 目录已存在')
return False
##删除空目录的函数
def delete_null_dir(dirr):
#判断目录是否存在
if os.path.isdir(dirr):
for p in os.listdir(dirr):
d = os.path.join(dirr,p)
print(d)
if (os.path.isdir(d) == True):
delete_null_dir(d)
if not os.listdir(dirr):
os.rmdir(dirr)
print('移除空目录: ', dirr)
for dir in DIR_LIST:
#创建目录
mkdir(dir + YESTERDAT)
#列出一个目录下的所有文件和目录,保存到一个list里面
dirs = os.listdir(dir)
for file in dirs:
#正则匹配,匹配以数字开头的文件或者目录,没有匹配到会返回None,
ret = re.match('[^0-9]', file)
#根据返回值对文件进行操作
if ret == None:
pass
else:
print('非空')
shutil.move(dir +"/" + file,dir + YESTERDAT)
#删除空目录
delete_null_dir(dir + YESTERDAT)