所以,我有这个代码
target_dir = "/mnt/..."
for source_dir in glob.iglob("/mnt/.../*bla.png"):
file_date=(os.path.getmtime(source_dir))
d=datetime.datetime(2022,2,3)
if file_date>= d and file_date < (d+datetime.timedelta(days=1)):
shutil.copy(source_dir, target_dir)
但当我试图运行它时,它会给我这个错误
File "a.py", line 33, in <module>
if file_date > d and file_date < (d+datetime.timedelta(days=1)):
TypeError: '>' not supported between instances of 'float' and 'datetime.datetime'
我被卡住了,不知道该怎么办。有什么建议吗?
os.path.getmtime()
返回一个float,而datetime.datetime()
返回一个datetime
实例,这就是出现错误的原因。一种解决方案是使用fromtimestamp
方法将浮点转换为日期时间:
file_date = datetime.datetime.fromtimestamp(os.path.getmtime(source_dir))