将带有时间戳的文件复制到文件夹和子文件夹中,这些文件夹和子文件夹使用Python在年/月/日中构建

时间:2018-11-14 09:06:08

标签: python

我有一个问题。我在不同的文件夹和子文件夹中有文件。我已经按年,月和日在新环境中创建了新文件系统。我想将文件保存在那里,我想根据它们的时间戳读取文件并将它们自动存储在指定的文件夹中。您如何做到最好?

2 个答案:

答案 0 :(得分:1)

这是我的解决方法:

import os
from datetime import datetime

SRC_PATH = './src'
DST_PATH = './dst'

for dirpath, _, filenames in os.walk(SRC_PATH):
    for filename in filenames:
        src_filepath = os.path.join(dirpath, filename)
        last_edit = datetime.fromtimestamp(os.path.getmtime(src_filepath))

        dst_dirpath = os.path.join(DST_PATH, str(last_edit.year), str(last_edit.month), str(last_edit.day))
        dst_filepath = os.path.join(dst_dirpath, filename)

        os.makedirs(dst_dirpath, exist_ok=True)
        os.rename(src_filepath, dst_filepath)

        print(src_filepath, '->', dst_filepath)

它将以递归方式遍历您的目录结构,并将所有文件移动到文件修改的YEAR/MONTH/DAY命名的另一个目录。

文档:

答案 1 :(得分:0)

您可以简单地使用datetime将时间戳记格式化为字符串,然后定义文件夹名称

from datetime import datetime
ts = 1514101485
folder_name = datetime.utcfromtimestamp(ts).strftime('%Y_%m_%d')