网站首页 > 技术文章 正文
文件操作与数据处理 的进阶学习任务,旨在帮助你深入掌握文件操作和数据处理的核心技能。以下是详细的学习计划和任务安排:
学习目标
- 熟练使用 os、shutil 和 pathlib 模块进行文件和目录操作。
- 掌握 CSV 和 JSON 文件的读写操作,理解数据处理的基本流程。
- 通过实践项目(批量重命名文件脚本),综合运用所学知识。
学习任务分解
1. 学习 os、shutil 和 pathlib 模块
- 学习内容: os 模块:文件和目录的基本操作。 os.listdir():列出目录内容。 os.path.join():路径拼接。 os.rename():重命名文件。 os.remove():删除文件。 os.makedirs():创建目录。 shutil 模块:高级文件操作。 shutil.copy():复制文件。 shutil.move():移动文件。 shutil.rmtree():删除目录树。 pathlib 模块:现代化的路径操作。 Path.cwd():获取当前工作目录。 Path.iterdir():迭代目录内容。 Path.rename():重命名文件或目录。 Path.glob():按模式匹配文件。
- 任务: 阅读官方文档或相关教程,理解三者区别。 编写代码测试:创建一个目录,复制一个文件到该目录,然后删除原文件。
2. 掌握 CSV 和 JSON 文件的读写
- 学习内容: csv 模块: 使用 csv.reader 和 csv.writer 读取和写入 CSV 文件。 使用 csv.DictReader 和 csv.DictWriter 处理带表头的数据。 json 模块: json.load() 和 json.dump():从文件读取/写入 JSON 数据。 json.loads() 和 json.dumps():处理 JSON 字符串。
- 任务: 创建一个简单的 CSV 文件(例如:name, age, city),写入 5 条数据,然后读取并打印。 将上述 CSV 数据转换为 JSON 格式并保存到文件,再读取验证。
3. 练习:编写批量重命名脚本
- 任务要求: 编写一个 Python 脚本,批量重命名指定文件夹中的文件。 重命名规则示例:将文件名改为 prefix_序号.扩展名(如 photo_001.jpg)。 支持用户输入文件夹路径和前缀。 添加错误处理(如文件不存在、权限不足等)。
- 实现步骤: 使用 pathlib.Path 获取文件夹中的所有文件。 遍历文件列表,生成新文件名。 使用 Path.rename() 执行重命名操作。 添加异常处理和用户交互。
学习计划
- 上午(2-3 小时): 学习 os、shutil 和 pathlib,完成模块测试代码。
- 下午(2-3 小时): 学习 CSV 和 JSON 文件操作,完成读写练习。
- 晚上(2-3 小时): 实现批量重命名脚本,测试并优化。
示例代码:批量重命名脚本
以下是一个基础实现,供你参考并扩展:
python
from pathlib import Path
def batch_rename_files(folder_path, prefix="file"):
try:
# 转换为 Path 对象
folder = Path(folder_path)
if not folder.exists() or not folder.is_dir():
raise ValueError("无效的文件夹路径")
# 获取所有文件
files = [f for f in folder.iterdir() if f.is_file()]
if not files:
print("文件夹中没有文件")
return
# 批量重命名
for i, file in enumerate(files, start=1):
new_name = f"{prefix}_{i:03d}{file.suffix}" # 如 file_001.jpg
new_path = folder / new_name
file.rename(new_path)
print(f"重命名: {file.name} -> {new_name}")
except Exception as e:
print(f"发生错误: {e}")
if __name__ == "__main__":
folder_path = input("请输入文件夹路径: ")
prefix = input("请输入文件名前缀(默认 'file'): ") or "file"
batch_rename_files(folder_path, prefix)
进阶挑战(可选)
- 修改脚本,支持按文件修改时间排序后重命名。
- 添加正则表达式支持,允许用户指定重命名规则(如提取文件名中的数字)。
- 将重命名操作记录到 CSV 文件中,包含旧名和新名。
学习资源建议
- Python 官方文档:os、shutil、pathlib、csv、json。
- 实践环境:本地创建一个测试文件夹,放入一些文件(如图片、文本)。
通过今天的任务,你将掌握 Python 文件操作和数据处理的核心技能,并具备编写实用脚本的能力。完成后,尝试将脚本应用到实际场景中,进一步巩固所学!有什么问题,随时问我。
猜你喜欢
- 2025-05-02 python执行.sql语法和文件(python oracle sql语句跟参数)
- 2025-05-02 python unittest 基本用法(python中testcase)
- 2025-05-02 免费定时运行Python程序并存储输出文档的服务推荐
- 2025-05-02 20 天学 Python 文件操作:Day 1 从 open() 开始
- 2025-05-02 一文掌握Python找到文件操作(python找到文件夹下指定文件)
- 2025-05-02 python 文件操作(python 文件操作模块)
- 2025-05-02 pdb,让python文件在linux中跑起来
- 2025-05-02 IDEA中配置Python环境并运行(idea 运行python)
- 2025-05-02 14《Python 办公自动化教程》os 模块操作文件与文件夹
- 2025-05-02 Python自动化办公自学笔记(八)文件操作
- 261℃Python短文,Python中的嵌套条件语句(六)
- 261℃python笔记:for循环嵌套。end=""的作用,图形打印
- 260℃PythonNet:实现Python与.Net代码相互调用!
- 255℃Python实现字符串小写转大写并写入文件
- 254℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 110℃原来2025是完美的平方年,一起探索六种平方的算吧
- 94℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 87℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)