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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测是不是昨天创建的目录相关的知识,希望对你有一定的参考价值。

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

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

以上是关于检测是不是昨天创建的目录的主要内容,如果未能解决你的问题,请参考以下文章

C# 获得目录创建时间的源码片段

使用 Pygments 检测代码片段的编程语言

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

985大学的高材生只会写代码片段,丢人吗?

985高校的高材生只会写代码片段,丢人吗?

985大学的高材生只会写代码片段,丢人吗?