2017-02-12 87 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)

相關問題