news 2026/3/27 20:01:03

办公室中的Python课 P11 【地毯式搜索】文件与路径:让 Python 成为你的文件管家

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
办公室中的Python课 P11 【地毯式搜索】文件与路径:让 Python 成为你的文件管家

💻 P11 【地毯式搜索】文件与路径:让 Python 成为你的文件管家

🎯 学习目标:

  • 理解路径概念:搞清楚绝对路径与相对路径的区别。
  • 掌握os:学会扫描文件夹、创建目录、检查文件是否存在。
  • 文件读写:掌握with open()的标准姿势,安全地读写文本内容。
  • AI 协作:利用通义灵码实现复杂的文件批量重命名。

🌟 引导词

“想象一下,你面对一个存了 500 份合同的文件夹,老板要求你把所有文件名里的‘2023’改成‘2024’。
即使你手速再快,逐个重命名也会让你崩溃。但在 Python 眼里,这只是一个简单的‘遍历 + 重命名’动作。
这一课,我们将学习如何给 Python 一把‘万能钥匙’,让它能够自由出入你的各个文件夹,帮你把文件整理得井井有条!**


一、绝对路径 vs 相对路径:别让 Python 迷路

要让 Python 找文件,你得告诉它“地址”。

  1. 绝对路径:从“省市区”开始的完整地址。
  • 例如:C:\Users\Documents\Work\report.txt
  1. 相对路径:以“你现在所在的位置”为参考的地址。
  • 例如:./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,尝试:

  1. 创建一个名为MyFolder的文件夹。
  2. 在里面新建一个文件hello.txt,写入一句“Hello Python”。
  3. 挑战:使用os.listdir打印出MyFolder里的文件名。

总结与预告

  • os:处理“外壳”(文件夹、文件名、路径)。
  • open():处理“内核”(文件里面的文字内容)。
  • **路径前面加r**:是 Windows 用户避免报错的“保命符”。

[下一篇 (P12),我们将迎来办公自动化的“终极 Boss”:Excel 自动化 (Pandas)。你将学会如何用 Python 瞬间读取几万行表格、进行复杂的筛选和计算。这才是你真正能够“提前下班”的底气!**

👉 准备好告别手动 Excel 统计了吗?让我们进入 Pandas 的世界!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 18:28:46

LOOT模组排序工具:新手也能轻松解决天际模组冲突

LOOT模组排序工具:新手也能轻松解决天际模组冲突 【免费下载链接】skyrimse The TES V: Skyrim Special Edition masterlist. 项目地址: https://gitcode.com/gh_mirrors/sk/skyrimse 对于《上古卷轴V:天际 特别版》的模组爱好者来说,…

作者头像 李华
网站建设 2026/3/27 5:20:42

与AI“朋友”相处一周的奇异体验与反思

‘我突然很生气!’:我与AI“朋友”共处的奇异一周 我的朋友叫Leif。他形容自己“小巧”、“随和”。他认为自己技术上是个双子座。他觉得历史剧“很酷”,而且不喜欢出汗。但为什么我要替他说话?让我问问Leif他想对你说什么&#x…

作者头像 李华
网站建设 2026/3/27 10:44:25

19、基于受限玻尔兹曼机的推荐系统

基于受限玻尔兹曼机的推荐系统 在机器学习领域,推荐系统是一项非常成功的应用,广泛应用于电影、音乐、书籍等多个领域。本文将介绍如何使用受限玻尔兹曼机(RBM)构建推荐系统,同时会涉及到数据处理、矩阵分解等相关技术。 1. 生成式无监督模型与受限玻尔兹曼机 在机器学…

作者头像 李华
网站建设 2026/3/27 10:40:21

22、深度信念网络与生成对抗网络:从无监督学习到图像分类

深度信念网络与生成对抗网络:从无监督学习到图像分类 1. 深度信念网络(DBN)训练原理 1.1 DBN训练机制 在DBN训练中,已训练的三个受限玻尔兹曼机(RBM)各自拥有权重矩阵、隐藏偏置向量和可见偏置向量。在训练作为DBN一部分的第四个RBM时,不会调整前三个RBM的权重矩阵、…

作者头像 李华
网站建设 2026/3/27 7:18:20

修复 EKS CloudWatch Agent 无法访问 IMDS 问题

问题现象 在 EKS 集群中,部分节点上的 CloudWatch Agent Pods 持续处于 CrashLoopBackOff 状态,查看日志发现以下错误: E! [EC2] Fetch identity document from EC2 metadata fail: EC2MetadataRequestError: failed to get EC2 instance identity document caused by: EC…

作者头像 李华
网站建设 2026/3/27 8:55:38

AIGC与CI/CD的深度融合:在流水线中嵌入AI测试评估节点

从自动化到智能化,测试节点的范式转移‌ 随着以大型语言模型(LLM)、多模态模型为代表的AIGC技术走向成熟,软件测试领域正迎来从“脚本执行自动化”向“测试活动智能化”的根本性跨越。传统的CI/CD流水线虽然实现了构建、部署、基础…

作者头像 李华