为什么你需要动手写脚本
每天上班第一件事就是打开邮箱、下载报表、复制数据、粘贴到Excel,再发给领导。这套流程你重复了多少遍?别说了,我也这么过来的。直到有天我写了三行Shell脚本,这些事现在10秒钟搞定。
脚本不是程序员的专利,它是普通上班族提升效率最直接的武器。关键不在懂多少语法,而在敢不敢动手练。
第一个实战项目:自动整理下载文件夹
你的“下载”文件夹是不是一堆乱七八糟的东西?安装包、PDF、图片混在一起。来,咱们写个Python小脚本,让它自己分类。
import os
import shutil
# 设置下载路径
download_path = "/Users/yourname/Downloads"
types = {
"images": [".jpg", ".png", ".gif"],
"ppt": [".pptx", ".pdf"],
"installers": [".dmg", ".exe"]
}
for filename in os.listdir(download_path):
file_path = os.path.join(download_path, filename)
if os.path.isfile(file_path):
for folder, extensions in types.items():
if any(filename.lower().endswith(ext) for ext in extensions):
target_folder = os.path.join(download_path, folder)
if not os.path.exists(target_folder):
os.mkdir(target_folder)
shutil.move(file_path, os.path.join(target_folder, filename))把这个保存成 organize.py,双击运行,或者命令行敲 python organize.py。下次再看到乱成一团的下载目录,你就知道该怎么做了。
第二个场景:批量重命名照片
出去玩拍了一堆图,名字全是IMG_1234.jpg这种。想按时间顺序改成“西湖-01”、“西湖-02”,手动改太累。用这个脚本:
import os
folder = "/Users/yourname/Pictures/xihu"
counter = 1
for img in sorted(os.listdir(folder)):
if img.lower().endswith((".jpg", ".jpeg")):
new_name = f"西湖-{counter:02d}.jpg"
os.rename(
os.path.join(folder, img),
os.path.join(folder, new_name)
)
counter += 1跑完之后照片整整齐齐,发朋友圈都更有感觉了。
进阶一点:定时抓网页数据
你想盯着某个商品降价,又不想天天刷页面。用下面这个脚本能自动抓价格,存到本地:
import requests
from bs4 import BeautifulSoup
import time
url = "https://example.com/product"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
price = soup.find("span", class_="price").text
with open("price_log.txt", "a") as f:
f.write(f"{time.strftime('%Y-%m-%d %H:%M')} - {price}\n")配合系统自带的cron(Mac/Linux)或任务计划程序(Windows),每小时跑一次,价格一降马上通知你。
这些脚本都不复杂,但解决的都是真实问题。别想着一步写出完美代码,先让程序跑起来,再慢慢调。你写的每一个脚本,都在把你从重复劳动里一点点解放出来。