# -- 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)ip