我想删除目录中的文件,但必须在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中获得按创建日期排序的目录列表