python检测是不是昨天创建的目录

# -*- 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)
posted @ 2020-06-17 16:57  刘小懒  阅读(159)  评论(0编辑  收藏  举报