是否可以通过python或任何其他语言将每日下载的文件存档到一个文件夹中

时间:2019-01-23 14:04:07

标签: python shell scripting-language

我需要一个实用程序来将我每天下载的文件存档到一个新文件夹中。

假设我今天下载了10个文件,并且一天结束时,所有文件应被存档到一个名为 Archived_TodaysDate的新文件夹中。

可以根据日常情况安排和执行此活动/任务。

如果您在MAC操作系统的背景下提供帮助,那就太好了。

我知道这可以通过许多脚本语言来完成,但是我想为Mac知道哪种脚本语言最适合此任务和快速入门指南。

1 个答案:

答案 0 :(得分:0)

如果您不熟悉设置chrontab,可以按照this进行设置(我寻找了Mac专用的,但是有无数的指南。)

您的存档脚本可能非常简单。首先生成要归档的文件列表(请参阅this答案。)

import datetime as dt
import time
import os
import zipfile

now = dt.datetime.now()
ago = now-dt.timedelta(days=1)

与引用的答案不同,我们需要文件列表,而不是print ed输出。因此,我们初始化一个列表,并在每次迭代时append对其进行初始化。在这里,我假设您的脚本位于您的下载文件夹中,但是您可以根据需要更改给os.walk的路径。

to_archive = []

for root, dirs,files in os.walk('.'):  
    for fname in files:
        path = os.path.join(root, fname)
        st = os.stat(path)    
        mtime = dt.datetime.fromtimestamp(st.st_mtime)
        if mtime > ago:
            to_archive.append(path)

我们还希望档案文件的标题为strftime的{​​{1}}表示形式。

now

最后将文件写入存档文件(在这种情况下,我选择了ts = now.strftime("%m_%d_%Y") 格式)。

zip