我需要一个实用程序来将我每天下载的文件存档到一个新文件夹中。
假设我今天下载了10个文件,并且一天结束时,所有文件应被存档到一个名为 Archived_TodaysDate的新文件夹中。
可以根据日常情况安排和执行此活动/任务。
如果您在MAC操作系统的背景下提供帮助,那就太好了。
我知道这可以通过许多脚本语言来完成,但是我想为Mac知道哪种脚本语言最适合此任务和快速入门指南。
答案 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