2011-09-15 10 views
12

ファイルが一定の時間(たとえば2日)より古いかどうかをチェックしたいと思います。日付を比較して古いファイルを確認する

私は、このような方法で、ファイルの作成時刻を取得するために管理:これは2日より古い場合

>>> import os.path, time 
>>> fileCreation = os.path.getctime(file) 
>>> file 
1314015638 
>>> time.ctime(os.path.getctime(file)) 
'Mon Aug 22 14:20:38 2011' 

は、どのように私は今確認できますか?

私はLinuxで動作しますが、クロスプラットフォームのソリューションが優れています。乾杯!

答えて

16
now = time.time() 
twodays_ago = now - 60*60*24*2 # Number of seconds in two days 
if fileCreation < twodays_ago: 
    print "File is more than two days old" 
+1

+1のおかげでたくさん! :) – Stefano

+0

私はtimedelta(ref:Eduardoの答え)を使用する方がクリーンであると信じています。 – Alvaro

18

私は知っている、古い質問です。しかし、私は似た何かを探してこの代替ソリューションを思い付いた:...私はそれが非常に簡単だった知っていた...しかし、私は、データの種類によってビットblocketた

from os import path 
from datetime import datetime, timedelta 

two_days_ago = datetime.now() - timedelta(days=2) 
filetime = datetime.fromtimestamp(path.getctime(file)) 

if filetime < two_days_ago: 
    print "File is more than two days old" 
+1

文字列表現との変換をスキップすることができます。filetime = datetime.fromtimestamp(path.getctime(file)) –

+0

@ErikForsberg、それはより良いです!それを更新しました。ありがとう! – Eduardo

+0

素敵できれい! – codeScriber