a
削除するフォルダーが直接またはにあると仮定します。b
次
のコードは、フォルダーごとに日時オブジェクトを作成し、日付の差を使用して削除するフォルダーを決定します。
import os, datetime, errno, stat, shutil
a =
b =
date = ''
ref = datetime.date(2013,12,20)
def parse_name(fname):
'''Returns False when unsucessful, datatime.date() when successful'''
if len(fname) > 9:
try:
year = int(fname[:4])
month = int(fname[4:6])
day = int(fname[6:8])
return datetime.date(year, month, day)
except ValueError,e:
return False
else:
return False
f2remove = []
for dirc in (a,b):
for item in os.listdir(dirc):
if os.path.isdir(os.path.join(dirc,item)):
x = parse_name(item)
if x and (ref - x).days >= 0:
f2remove.append(os.path.join(dirc,item))
# --- deleting files --- #
for filename in f2remove:
print 'removing', filename.split('\\')[-1]
shutil.rmtree(filename)