繁体   English   中英

Python:将创建目录时间与datetime.timedelta进行比较

[英]Python: Compare creation directory time with datetime.timedelta

我尝试连接一个小脚本以查找是否在las 24小时内创建了目录文件

import time

path = /some/path/dir
currentTime = time.strftime("%c")
print currentTime   # Tue Sep 15 18:08:54 2015
if os.path.isdir(path):
    created = time.ctime(os.path.getctime(path)) 
    print created   # Thu Sep 25 17:29:28 2014
    if created > 24 hours: # time don't have comparison  
        # do someting

所以我尝试使用“ datetime”和.timedelta来执行数学运算,但是我无法从目录中获取创建时间。

import datetime

print datetime.datetime(os.path.getctime(path))
    # AttributeError: 'module' object has no attribute 'datetimep'

谢谢您的时间:D

os.path.getctime(path)返回“自纪元以来的秒数”(Unix时间)。 要将其与当前时间进行比较,请使用time.time()

import os
import time

DAY = 86400 # seconds -- POSIX day
if (time.time() - os.path.getctime(path)) > DAY:
    print("more than 24 hours have passed")

getctime()返回Windows上path的创建时间,但在其他系统(Unix)上,它可能返回上一次元数据更改的时间

另请参阅查找日期时间之间是否经过了24小时-Python

这是一个解决方案

if time.mktime(time.localtime()) - os.path.getctime(path) < 24 * 60 * 60:
    ....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM