2010-07-27 15 views
8

तो फिलहाल मैं 1 मिनट की निर्देशिका में सूचीबद्ध फ़ाइलों को हटाने की कोशिश कर रहा हूं, जब मैं स्क्रिप्ट काम कर रहा हूं तो मैं उस मान को बदल दूंगा। AttributeError: 'str' object has no attribute 'mtime'पायथन: किसी निश्चित आयु की फ़ाइलों को हटाने

import time 
import os 
#from path import path 

seven_days_ago = time.time() - 60 
folder = '/home/rv/Desktop/test' 

for somefile in os.listdir(folder): 
    if int(somefile.mtime) < seven_days_ago: 
     somefile.remove() 

उत्तर

11
import time 
import os 

one_minute_ago = time.time() - 60 
folder = '/home/rv/Desktop/test' 
os.chdir(folder) 
for somefile in os.listdir('.'): 
    st=os.stat(somefile) 
    mtime=st.st_mtime 
    if mtime < one_minute_ago: 
     print('remove %s'%somefile) 
     # os.unlink(somefile) # uncomment only if you are sure 
+6

'os.path.getmtime (somefile)' खनन है और यह भी की 'os.stat (somefile) .st_mtime' एवज में काम करता है। –

6

ऐसा इसलिए है क्योंकि somefile एक स्ट्रिंग, एक रिश्तेदार फ़ाइल नाम है:
कोड नीचे त्रुटि देता है। आपको फ़ाइल की पूर्ण पथ (यानी, पूर्ण पथ) बनाने के लिए क्या करना है, जिसे आप os.path.join फ़ंक्शन के साथ कर सकते हैं, और इसे os.stat पर पास कर सकते हैं, वापसी मूल्य में एक विशेषता st_mtime होगी जिसमें आपकी वांछित होगी एक पूर्णांक के रूप में मूल्य।

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