将文件路径转换为日期并忽略不可转换的值

convert filepaths to date's and ignore not-convertable values

我正在开发一个简单的 Python 脚本来备份文件。

虽然这工作正常,但我想添加一个功能,其中名称为 6 个月前的文件夹将自动删除。

基本上如果有一个名为:2014-05-23 的文件夹和我 运行 应该删除的脚本。

现在我遇到的问题是从日期循环中转换字符串(用于时间比较)。

import os
import shutil
import time
import datetime

root_folder = r'C:\Users\Coen\Desktop\Test 1'
bestemming = r'C:\Users\Coen\Desktop\test 2\'
date_str = time.strftime("%Y-%m-%d")
nieuwe_map = os.path.join(bestemming + date_str)
verwijder_datum = (datetime.date.today() - datetime.timedelta(6*365/12))

shutil.copytree(root_folder, nieuwe_map)

**for oude_map, bestand, files in os.walk(bestemming):
    if datetime.datetime.strptime((oude_map[-9:]), "%Y-%m-%d") > verwijder_datum:
        shutil.rmtree(oude_map)**

我收到值错误,因为某些结果无法转换为字符串。我尝试使用 except 并尝试但我认为我做错了什么,因为我无法正常工作。希望大家帮帮我。

总结:我需要将文件路径转换为日期,以便 python 决定是否删除该文件夹。我正在使用无法转换为日期的 returns 值的循环,而且我似乎无法通过异常修复它。我该如何解决这个问题?

尝试以下操作:

for oude_map, bestand, files in os.walk(bestemming):
    try:
        if datetime.datetime.strptime((oude_map[-10:]), "%Y-%m-%d").date() < verwijder_datum:
            shutil.rmtree(oude_map)
    except ValueError:
        pass