Python 3 如何在特定条件下搜索文件夹中的文件以移动到另一个文件夹?

How do I search files in a folder to be moved to another folder in a certain condition in Python 3?

我会尝试解释得更清楚一些:我正在尝试弄清楚如何在 Python 3.8.5 上使用 shutil 和 os 模块,以便能够查看文件夹,确定其内容是否在过去 24 小时内被创建 and/or 修改...然后如果有,将文件 os 移动到另一个文件夹。

我将尝试 link 我这里的代码,我对使用 Whosebug 还是很陌生,所以我很抱歉:

import shutil
import os

shutil.copystat(' \Users\aaron\Desktop\checkFiles\File B.txt', "\Users\aaron\Desktop\needToCopy\"," follow_symlinks=True)

这段代码一直给我无效的语法错误。我不知道我做错了什么,我什至看过 docs.python.org,但是,由于我是编码新手,所以它对我来说非常希腊化。

我不确定,你想通过 shutil.copystat 达到什么目的。它只将统计信息和权限复制到路径上。 (如果你的 File B.txt 是只读的,那么 needToCopy 也将是只读的)

要了解创建和修改时间,请参考 this great answer

我会像这样进行 24 小时检查 window 修改:

import os, time
DIR_PATH = "."
for filename in os.listdir(DIR_PATH):
    if os.path.getmtime(filename) >= (time.time() - 60*60*24): print(filename)

而对于移动部分,有(例如)shutil.move。所以它可能看起来像这样:

import os, time, shutil
SRC_PATH = "."
TARGET_PATH = "../"
for filename in os.listdir(SRC_PATH):
    if os.path.getmtime(filename) >= (time.time() - 60*60*24): 
        shutil.move(os.path.join(SRC_PATH, filename), TARGET_PATH)