【发布时间】:2021-01-01 19:23:50
【问题描述】:
在下面的代码中,我试图验证放入目录中的文件是否是新文件,并且应该开始处理它。我想将新文件的创建日期与最后处理的文件的创建日期进行比较。这个最后创建日期存储在目录上的一个文件中(如果你有存储日期的更好想法,我愿意接受)我的问题是存储在文件中的日期是一个字符串,我做不到新日期与旧日期的比较。底部的 if 语句是引发错误的原因。我正在比较的日期是 NewCreateTime 的类型为
如何将两个日期都转换为 datetime.objects 或比较日期时间字符串?
def is_file_ready(File_Name, Path, Ready, cTimeFile):
NCTtstamp = path.getctime(File_Name)#create date of new file found in ready dir.
NCTobj = str(datetime.fromtimestamp(NCTtstamp))
NewCreateTime = datetime.strptime(NCTobj, '%Y-%m-%d %H:%M:%S.%f')
print('NewCreateTime is of type')
print(type(NewCreateTime))
LastCreateTimeFile = path.join('/', Path, Ready, cTimeFile)
try:
with open(LastCreateTimeFile, 'r') as lct: # get the last create time
LCTline = lct.readline()
except FileNotFoundError as fnferr:
print('COULD NOT READ FILE!:\n', + File_Name + '\n\n', fnferr)
LCTstr = LCTline.rstrip()
LastCreateTime = datetime.strptime(LCTstr, '%Y-%m-%d %H:%M:%S.%f')
print('LastCreateTime is of type')
print(type(LastCreateTime))
if NewCreateTime > LastCreateTimeFile:
if NewCreateTime > LastCreateTimeFile:
return(NewCreateTime, True, LastCreateTime)
【问题讨论】:
-
错字:您想与“LastCreateTime”进行比较,但您使用文件路径“LastCreateTimeFile”
-
谢谢你盯着看太久没注意到。