删除Y文件夹中超过X天的每个文件

时间:2017-02-12 16:59:15

标签: python-3.x raspbian raspberry-pi3

我写了这个,但它不起作用。 在giorni中,我将最长停留天数放入SD中,file_dir是分析文件的默认位置。

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)

1 个答案:

答案 0 :(得分: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)