|
|
一、os 模块(内置,最常用)
1. 重命名文件
- import os
- # 原文件路径、新文件名路径
- old_path = r"D:/test/1.txt"
- new_path = r"D:/test/日记.txt"
- os.rename(old_path, new_path)
复制代码
2. 重命名文件夹
- import os
- old_dir = r"D:/old文件夹"
- new_dir = r"D:/新文件夹"
- os.rename(old_dir, new_dir)
复制代码
补充常用细节
同目录只改名字:路径前缀一致,只改末尾名称
跨路径移动 + 改名:等同于剪切并重命名
报错场景:
新名称已存在:会抛出 FileExistsError
原文件不存在:FileNotFoundError
捕获异常写法(稳妥版)
- import os
- try:
- os.rename("a.jpg", "photo.jpg")
- except FileNotFoundError:
- print("原文件不存在")
- except FileExistsError:
- print("新名字已经被占用")
复制代码
二、pathlib
文件重命名
- from pathlib import Path
- old_file = Path(r"D:/demo/aaa.png")
- new_file = Path(r"D:/demo/头像.png")
- old_file.rename(new_file)
复制代码
文件夹重命名
- from pathlib import Path
- Path("旧目录").rename("新目录")
复制代码
三、批量重命名示例(实用场景)
把文件夹内所有 txt 文件统一改名:
- import os
- folder = r"D:/文档"
- for idx, name in enumerate(os.listdir(folder)):
- if name.endswith(".txt"):
- old = os.path.join(folder, name)
- new = os.path.join(folder, f"笔记_{idx+1}.txt")
- os.rename(old, new)
复制代码
关键注意事项
Windows 路径建议加前缀 r"" 避免转义字符问题
重命名前尽量关闭正在占用该文件的软件,否则权限报错
pathlib 兼容性更好,日常优先选用
|
|