💻 P11 【地毯式搜索】文件与路径:让 Python 成为你的文件管家
🎯 学习目标:
- 理解路径概念:搞清楚绝对路径与相对路径的区别。
- 掌握
os库:学会扫描文件夹、创建目录、检查文件是否存在。 - 文件读写:掌握
with open()的标准姿势,安全地读写文本内容。 - AI 协作:利用通义灵码实现复杂的文件批量重命名。
🌟 引导词
“想象一下,你面对一个存了 500 份合同的文件夹,老板要求你把所有文件名里的‘2023’改成‘2024’。
即使你手速再快,逐个重命名也会让你崩溃。但在 Python 眼里,这只是一个简单的‘遍历 + 重命名’动作。
这一课,我们将学习如何给 Python 一把‘万能钥匙’,让它能够自由出入你的各个文件夹,帮你把文件整理得井井有条!**
一、绝对路径 vs 相对路径:别让 Python 迷路
要让 Python 找文件,你得告诉它“地址”。
- 绝对路径:从“省市区”开始的完整地址。
- 例如:
C:\Users\Documents\Work\report.txt
- 相对路径:以“你现在所在的位置”为参考的地址。
- 例如:
./data/report.txt(.代表当前文件夹)
⚠️ 避坑指南:Windows 路径里的反斜杠\在代码里有特殊含义,建议在路径字符串前加个r,比如r"C:\Desktop\test",这样可以避免报错。
二、使用os库:文件夹的指挥官
os是 Python 处理文件系统的“特种兵”。
importos# 1. 获取当前代码所在的文件夹路径current_path=os.getcwd()print(f"当前位置:{current_path}")# 2. 列出某个文件夹下的所有文件files=os.listdir(".")forfinfiles:print(f"发现文件:{f}")# 3. 创建新文件夹(如果不存在的话)ifnotos.path.exists("备份数据"):os.mkdir("备份数据")print("文件夹创建成功!")三、读写文件:with open是唯一标准
当你需要看文件里面的内容,或者往里写东西时,请记住这个黄金组合:with open(...)。它会自动帮你“关门”,防止数据丢失。
# 写文件:'w' 代表 write(写入,会覆盖旧内容)withopen("memo.txt","w",encoding="utf-8")asf:f.write("今天下午 3 点开会\n记得带笔记本")# 读文件:'r' 代表 read(读取)withopen("memo.txt","r",encoding="utf-8")asf:content=f.read()print(content)四、手把手 AI 实战:文件批量重命名
这是通义灵码在文件管理场景下的“高光时刻”。
1. Agent 模式:全自动化重命名
- 操作:输入
/agent。 - 指令:
帮我检查当前文件夹下所有以 .txt 结尾的文件,在它们文件名的开头统一加上“重要_”两个字。 - 效果:AI 会自动导入
os库,编写一个循环,调用os.rename函数。它会先列出计划,经你同意后瞬间完成所有重命名。
2. Ask 模式:学习路径拼接
- 操作:在对话框输入指令:
我在 Windows 下,想把文件夹路径 'D:\Data' 和文件名 'result.csv' 拼在一起,应该用什么函数最安全?请给我代码示例。
- AI 价值:它会教你使用
os.path.join(),这是避免路径斜杠出错的最专业做法。
3. Edit 模式:增加错误检查
- 操作:选中一段读取文件的代码。
- 动作:右键 ->通义灵码->智能编辑。
- 指令:
帮我修改这段代码,增加一个判断:如果文件不存在,不要报错,而是打印“文件找不到了,请检查路径”并优雅地退出。
🛠️ 课后练习
在 VS Code 中新建P11_file.py,尝试:
- 创建一个名为
MyFolder的文件夹。 - 在里面新建一个文件
hello.txt,写入一句“Hello Python”。 - 挑战:使用
os.listdir打印出MyFolder里的文件名。
总结与预告
os库:处理“外壳”(文件夹、文件名、路径)。open():处理“内核”(文件里面的文字内容)。- **路径前面加
r**:是 Windows 用户避免报错的“保命符”。
[下一篇 (P12),我们将迎来办公自动化的“终极 Boss”:Excel 自动化 (Pandas)。你将学会如何用 Python 瞬间读取几万行表格、进行复杂的筛选和计算。这才是你真正能够“提前下班”的底气!**
👉 准备好告别手动 Excel 统计了吗?让我们进入 Pandas 的世界!