2017-02-12 8 views
0

Я написал это, но он не работает. В giorni Я установил максимальные дни пребывания в SD и file_dir - это местоположение по умолчанию, где файлы анализируются.Удалить каждый файл старше X дней в папке Y

import os 
from datetime import datetime, timedelta 

file_dir = "/home/pi/" #location 
giorni = 2 #n max of days 

giorni_pass = datetime.now() - timedelta(giorni) 

for root, dirs, files in os.walk(file_dir): 
    for file in files: 
     filetime = datetime.fromtimestamp(os.path.getctime(file)) 
     if filetime > giorni_pass: 
      os.remove(file) 

ответ

0

решаемые с:

for file in files: 
     path = os.path.join(file_dir, file) 
     filetime = datetime.fromtimestamp(os.path.getctime(path)) 
     if filetime > giorni_pass: 
      os.remove(path) 

Поскольку «Имена файлов» содержит список файлов, чей путь имя по отношению к «file_dir» и сделать операции по этим файлам должны сначала получить абсолютный путь, используя path = os.path.join(file_dir, file)

 Смежные вопросы

  • Нет связанных вопросов^_^