2017-02-12 180 views
0

我写了这个,但它不起作用。 在giorni我把留在SD的最大天数和file_dir是分析文件的默认位置。删除Y文件夹中比X天早的每个文件

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)

相关问题