python - 是否可以通过python或任何其他语言将每日下载的文件归档到一个文件夹中
问题描述
我需要一个实用程序来将我每天下载的文件归档到一个新文件夹中。
假设我今天下载了 10 个文件,在一天结束时,所有文件都应该归档到一个名为Archived_TodaysDate 的新文件夹中。
此活动/任务可以每天安排和执行。
如果您在 MAC 操作系统方面提供帮助,那就太好了。
我知道这可以通过许多脚本语言来完成,但我想知道对于 mac,哪种脚本语言适合这项任务以及快速入门指南。
解决方案
如果您不熟悉设置 chrontab,则可以按照以下步骤进行设置(我寻找了一个特定于 mac 的,但有无数关于此的指南。)
您的归档脚本可以非常简单。首先生成要归档的文件列表(请参阅此答案。)
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
表示now
。
ts = now.strftime("%m_%d_%Y")
最后将文件写入存档文件(在这种情况下,我选择了zip
格式)。
with zipfile.ZipFile('{}_archive.zip'.format(ts), 'w') as myzip:
for x in to_archive:
myzip.write(x)
推荐阅读
- codenameone - 将包含 ListProperty 的 PropertyBusinessObject 存储到 JSON
- regex - 正则表达式:如果元音按顺序(aeiou)出现在单词中,则匹配,如果存在字符以外的字符则不匹配
- python - 如何在不使用 python 或 R 打开浏览器的情况下截取 youtube 页面?
- flutter - 如何打开用户在颤动中终止应用程序的最后一页?
- rust - 从闭包返回闭包作为函数的返回值
- docker - 为什么客户端无法连接到 localhost:8080?
- javascript - 在画布上显示 node.js 输出变量
- python - 使用 OpenCV 保存视频时出现错误消息
- ios - 它不允许我通过“App Store Connect Operation Error”上传应用程序
- vue.js - 将吸气剂导入路由器的问题 - Vuex