如何删除有条件的文件:在 python 中"yyyy-mm-dd" "yyyy-mm-dd"中创建的文件?



我想删除目录中的文件,但必须在X日期和Y日期创建。我认为使用了库os,但我知道如何指定日期条件。

import os
import pandas as pd
path = 'directory'
dir = os.listdir(path)
for file in dir:
if file ... in dir:
os.remove(file)

您可以使用os.path.getatime('/path/to/your/file')获取上次访问时间。此外,最后修改时间(os.path.getmtime)和创建时间(os.path.getctime)。这里有更多关于这些的信息。但这些都是UNIX epoch格式的。因此,您应该首先使用以下命令将所需的时间转换为UNIX epoch格式:

from datetime import datetime as dt
# Create the time you want
t = dt(2022, 11, 4, 18, 8, 30)
# Convert to UNIX epoch time
converted = t.timestamp()
# Output: 1667572710.0

现在你可以检查每个文件的修改/访问/创建时间并进行比较,然后删除你想要的

import os
from datetime import datetime as dt
# List files in the current directory
list_of_files = os.listdir() 
for f in list_of_files:
# Creation time
ct = os.path.getctime(f)
# Modification time
mt = os.path.getmtime(f)
# Check the human readable string
print(f"file: {f} "
f"creation: {dt.fromtimestamp(ct)} "
f"modification: {dt.fromtimestamp(mt)} ")

但是要小心转换时区!您不想给代码一个本地时区并删除基于UTC的文件

一些有用的资源:

  • os.path
  • 日期时间
  • 如何获取文件创建和修改日期/时间
  • 如何在python中获得按创建日期排序的目录列表

相关内容

  • 没有找到相关文章

最新更新