按 creation/modification 日期查找文件,然后移动到 Python 中的另一个目录
Find files by creation/modification date then moving to another dir in Python
第一个问题。我是编程新手,更不用说python了。正如标题所说,我试图找到在过去 24 小时内创建或修改的文件,然后将这些文件移动到另一个目录。我可以找到这些文件,但我不知道如何移动满足此条件的文件。到目前为止我的脚本:
for root,dirs,files in os.walk('source\folder'):
for file_name in files:
now = dt.datetime.now()
before = now - dt.timedelta(hours=24)
path = os.path.join(root,file_name)
st = os.stat(path)
mod_time = dt.datetime.fromtimestamp(st.st_ctime)
if mod_time < before:
print('%s modified %s'%(path,mod_time))
我尝试使用 shutil 移动输出但出现错误;
TypeError: coercing to Unicode: need string or buffer, datetime.datetime found
我试图在网上找到解决方案,但没有成功。甚至不确定我是否可以用我构建的方式做我想做的事情?提前致谢。
而不是:
shutil.move(mod_time, 'dest\path')
做:
shutil.move(os.path.join(root, file_name), 'dest\path')
这会向该函数传递文件名而不是日期。
第一个问题。我是编程新手,更不用说python了。正如标题所说,我试图找到在过去 24 小时内创建或修改的文件,然后将这些文件移动到另一个目录。我可以找到这些文件,但我不知道如何移动满足此条件的文件。到目前为止我的脚本:
for root,dirs,files in os.walk('source\folder'):
for file_name in files: now = dt.datetime.now() before = now - dt.timedelta(hours=24) path = os.path.join(root,file_name) st = os.stat(path)
mod_time = dt.datetime.fromtimestamp(st.st_ctime) if mod_time < before: print('%s modified %s'%(path,mod_time))
我尝试使用 shutil 移动输出但出现错误;
TypeError: coercing to Unicode: need string or buffer, datetime.datetime found
我试图在网上找到解决方案,但没有成功。甚至不确定我是否可以用我构建的方式做我想做的事情?提前致谢。
而不是:
shutil.move(mod_time, 'dest\path')
做:
shutil.move(os.path.join(root, file_name), 'dest\path')
这会向该函数传递文件名而不是日期。