檢測是不是昨天創建的目錄

檢測是不是昨天創建的目錄

# -*- coding:utf-8 -*-
# Modify: 劉小懶
import os
from datetime import datetime, timedelta

def get_check_dir(dir_path):
    """
    獲取當前要檢測的目錄列表
    :param dir_path: 指定檢測目錄
    :return: 檢測的目錄下的文件和文件夾列表
    """
    return os.listdir(dir_path)

def get_dir_time(abs_path, dir_name):
    """
    檢測是不是目錄,是目錄返回目錄創建時間戳
    :param abs_path: 檢測目錄名的絕對路徑
    :param dir_name: 要獲取的文件名
    :return:
    """
    dir_abs_name = os.path.join(abs_path, dir_name)
    if os.path.isdir(dir_abs_name):
        return os.path.getmtime(dir_abs_name)
    return 0

def get_current_time():
    """
    獲取當前時間
    :return: 時間對象:年月日
    """

    today = datetime.now().date()
    yesterday = today + timedelta(days=-1)
    return yesterday

def get_zero_time(date):
    """
    獲取要比較的日期的零時時間戳
    :param date: 要對比的時間日期
    :return: 要對比的當日凌晨的時間戳
    """
    zero_time = datetime.now().replace(year=date.year, month=date.month, day=date.day,hour=0, minute=0, second=0)
    return datetime.timestamp(zero_time)

def check_dir_time(check_path):
    """
    判斷當前文件是不是今天內創建的
    :param check_path: 檢測的路徑
    :return:
    """
    list_dir = get_check_dir(check_path)
    current_time = get_current_time()
    zero_time = get_zero_time(current_time)
    dir_list = []
    for dir_name in list_dir:
        dir_mk_time = get_dir_time(check_path, dir_name)
        if dir_mk_time >= zero_time:
            # print("%s 是昨天%s 創建的" % (dir_name, current_time))
            dir_list.append(dir_name)
    return dir_list

def tar_zip(source):
    dir_name = check_dir_time(source)
    print(dir_name)
    return dir_name

if __name__ == "__main__":
    source_dir = "D:/"
    check_dir = os.path.dirname(os.path.abspath(source_dir))
    tar_zip(check_dir)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章