0
我正在編寫一個程序,它以YYYY-MM-DD日期爲名刪除目錄。我堅持爲此寫一個方法,它創建了一個要刪除的文件夾的路徑名列表。將它們添加到此列表的標準是文件夾名稱中日期的年齡。在python中查找字符串中較舊的日期3
我無法使程序識別這些較舊的日期。
import os
import sys
import datetime
import config #this is by me
global archivePath # config value: "/archive/"
global archiveForDays # config value: 14
archivePath = config.archivePath
archiveForDays = config.archiveForDays
def getDestruDirList():
# This method creates a list of files for deletion.
archiveList = os.listdir(archivePath) #get list of archive directorires
deletionList = [] #create list for deletion
for dateStr in archiveList:
skip = False
if (not dateStr == "current"):
dateVar = datetime.datetime.strptime(dateStr, "%Y-%m-%d")
if dateVar.date < datetime.datetime.now() - datetime.timedelta(days=archiveForDays):
deletionList.append(archivePath + dateStr) #add full pathname to deletion list
print("Revision " + dateVar.strftime("%d-%m-%Y") + " to be deleted.")
return deletionList
測試這是行不通的,我對日期不是很熟悉,以前從未見過這個錯誤。在該方法測試失敗如下...
Python 3.4.3 (default, Sep 9 2016, 06:04:18)
[GCC 4.9.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cleaner
>>> cleaner.getDestruDirList()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/root/archive-scripts/cleaner.py", line 22, in getDestruDirList
if dateVar.date < datetime.datetime.now() - datetime.timedelta(days=archiveForDays):
TypeError: unorderable types: builtin_function_or_method() < datetime.datetime()
編輯:我比較肯定的類型錯誤問題,但我不知道該怎麼辦了,和上午被卡住。
'如果dateVar.date
是'''dateVar.date'''一個方法/函數/可調用?它應該是'''dateVar.date()'''?或者可能只是使用'''''''''''''''''' – wwii