Я уже все переменные пересмотрел, все форматы, все типы, все там норм. Дело в том, что ему не нравится в strptime первый аргумент это переменная, он требует именно строку, хотя у переменной base тип строка и в ней строка 19.06.18. Я не понимаю что ему не нравиться. Если написать так:
import time
import datetime
import os
directory = 'd:/dir/daily/'
files = os.listdir(directory)
now = datetime.datetime.now()
for key in files:
base = os.path.splitext(key)[0]
base_date = datetime.datetime.strptime('19.06.18', '%d.%m.%y')
if now > base_date:
print(base_date)
print('Удалить!')
else:
print(base_date)
print('Оставить.')
то все работает. Но в папке много файлов, их нужно перебрать и каждый сравнить. Суть в том, нужно сравнить даты файлов и старые удалить. Дату беру из имени файла. Может как то иначе предложите реализацию?