我想得到所有的.py
文件是为2前几天创建的。
我编写了代码来搜索扩展名为.py
的文件,现在我需要测试它们的年龄。
import os
import shutil
import getctime
source = r'/Users/sourcedir'
destination = r'/Users/destdir'
for root, dir, files in os.walk(source):
for file in files:
if '.py' in file:
shutil.move(os.path.join(root, file), destination)
3条答案
按热度按时间t8e9dugd1#
您需要测试目录中每个文件的修改日期。(假设您希望文件在两天前 * 修改 *,创建与修改或访问不同,这取决于您的操作系统,在Windows上此函数返回 * 创建 * 日期)
os.path.getmtime('file_path')
函数返回文件的创建时间(Windows)或最后更改时间(Linux)作为纪元时间戳。您需要将这个纪元时间戳与您的参考时间戳(两天前?)进行比较,如果时间戳更早,则继续您的
move(...)
调用。6fe3ivhb2#
要在2天内创建'.py'文件,可以使用
pathlib
模块中的Path
类作为处理文件系统路径的替代方法。使用
Path
类,可以更好地使用glob
方法以某种模式迭代给定路径,for语句中的rglob("*.py")
搜索源路径中的所有python文件,并返回Path对象的可迭代对象。stat
方法给出了.“py”文件的属性,使用该属性计算自datetime
模块创建以来的天数。Path类的
replace
方法替换shutil.move
并将文件移动到传入的目标。uqcuzwp83#
如果您想包括两天前的一整天,也可以使用其他变体。