Python 入门:写第一个能帮你干活的小脚本
学 Python 最容易走的弯路,是先背语法再找用途。反过来更有效:先定一个很小的、真实的任务,再为它学刚好够用的语法。下面这个例子只需要半小时,就能跑出第一个对你有用的脚本。
一、先定任务:整理下载文件夹
下载文件夹最容易乱:安装包、图片、文档混在一起。目标很具体:把文件按后缀自动分到不同文件夹,图片进「图片」,文档进「文档」,其余不动。这个任务只用到四样东西:读目录、判断后缀、建文件夹、移动文件。
二、环境:只装 Python 就够了
去 Python 官网下载安装包,安装时勾选“Add Python to PATH”,装完在终端输入 python --version,能看到版本号就说明好了。不用先装编辑器,记事本加终端就能开始;等写得多了,再换 VS Code 也不迟。虚拟环境可以先放一放,等你要装第三方库、或者同时做两个项目时再学。
三、核心代码:不到 30 行
import os
import shutil
from pathlib import Path
download = Path.home() / "Downloads"
rules = {
"图片": {".jpg", ".png", ".gif"},
"文档": {".pdf", ".docx", ".txt", ".md"},
}
for item in download.iterdir():
if not item.is_file():
continue
target = None
for folder, suffixes in rules.items():
if item.suffix.lower() in suffixes:
target = download / folder
break
if target is None:
continue
target.mkdir(exist_ok=True)
shutil.move(str(item), str(target / item.name))
print(f"已移动:{item.name} -> {folder}")
逐行理解比背下来重要。Path.home() 找到用户主目录;iterdir() 遍历文件夹里的每一项;is_file() 跳过子文件夹;suffix 取文件后缀;mkdir(exist_ok=True) 是“文件夹不存在才新建”,已经存在也不会报错;shutil.move 就是移动文件。字典 rules 把“后缀集合”和“目标文件夹”对应起来,想加一种类型,往集合里加一个后缀就行,不用改逻辑。
四、先在小范围试跑
直接对真正的下载文件夹动手之前,先建一个测试文件夹,放几个空文件进去,把代码里的 download 改成测试路径跑一遍。确认文件都去了该去的地方,再改回真实路径。这个习惯比任何语法都值钱:脚本一旦写错,移动几百个文件只需要一秒,找回来却要一下午。重要的文件夹操作前,先备份,或者先打印出“打算移动什么”,确认无误再真正执行。
五、从这 30 行长出更多用法
这个骨架稍加改动就能复用。把 rules 换成按月份分组,就成了按修改时间归档照片的脚本;把 print 换成写日志文件,就有了可追溯的记录;把 shutil.move 换成 shutil.copy,就变成备份脚本。下一步可以学的三样东西也都顺着这个任务来:用 argparse 让脚本接受命令行参数,用 datetime 按日期归档,用 requests 库下载网页内容并保存。每个新知识点都先挂在一个具体任务上,学完马上能用,就不容易忘。
Python 入门不需要一次学完所有语法。先让一个 30 行的小脚本替你整理一次文件夹,跑通、改对、再复用,入门这件事就算完成了。
- 点赞
- 收藏
- 关注作者
评论(0)