检查文件修改日期并将其复制到目标方向并仅复制在给定日期修改的文件

Check file modification date and copy it to target direction and copy only those that are modified in given date

所以,我有这个代码

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() returns 一个浮点数,而 datetime.datetime() returns 一个 datetime 实例,这就是你得到错误的原因。一种解决方案是使用 fromtimestamp 方法将浮点数转换为日期时间:

file_date = datetime.datetime.fromtimestamp(os.path.getmtime(source_dir))