2011-09-15 20 views
12

मैं यह जांचना चाहता हूं कि फ़ाइल एक निश्चित समय से अधिक पुरानी है (उदा। 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' 

मैं अब कैसे सकते हैं कि यह 2 दिन से अधिक पुराना है?

मैं लिनक्स के तहत काम करता हूं, लेकिन एक क्रॉस प्लेटफार्म समाधान बेहतर होगा। चीयर्स!

उत्तर

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 मैं जानता था यह काफी आसान था ... लेकिन मैं डेटा प्रकार से थोड़ा Blocket था ... धन्यवाद: लेकिन मैं कुछ इसी तरह के लिए देख रहा था और इस वैकल्पिक समाधान के साथ आया था! :) – Stefano

+0

मुझे विश्वास है कि यह timedelta (रेफ .: Eduardo के जवाब) का उपयोग करने के लिए क्लीनर होगा। – Alvaro

18

मुझे पता है, यह एक पुराना सवाल है। एक बहुत

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 (फ़ाइल)) –

+0

@ErikForsberg, यह अच्छा है! इसे अपडेट किया गया धन्यवाद! – Eduardo

+0

अच्छा और साफ! – codeScriber

संबंधित मुद्दे