Python os.rename()函数:重命名文件或目录
os 模块提供了重命名文件和目录的函数 rename(),如果指定的路径是文件,则重命名文件;反之,如果执行的路径是目录,则重命名目录。
rename() 函数的基本语法格式如下:
例如,将 a.txt 文件(完整路径为:D:\demo\a.txt)重命名为 b.txt 文件,可以执行如下代码:
使用 rename()函数重命名目录和重命名文件基本相同,只需要将文件路径替换为目录路径即可。例如,将 D:\demo 目录重命名为 new 目录,可以执行如下代码:
如果想避免出现 FileNotFoundError 异常,可以在删除文件或目录时,先判断目标文件或目录是否存在,即如果存在才执行删除操作,执行代码如下:
rename() 函数的基本语法格式如下:
os.rename(src , dst)
其中,src 参数用于指定要进行重命名的目录或文件;dst 参数用于指定重命名后的目录或文件。例如,将 a.txt 文件(完整路径为:D:\demo\a.txt)重命名为 b.txt 文件,可以执行如下代码:
import os os.rename("D:\\demo\\a.txt","D:\\demo\\b.txt") print("重命名完毕")通过执行上面代码,即可成功将位于 D:\\demo 下的 a.txt 文件重命名为 b.txt。但是,如果 rename() 函数找不到目标文件或目录,将会抛出 FileNotFoundError 异常:
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\demo.py", line 2, in <module>
os.rename("D:\\demo\\a.txt","D:\\demo\\b.txt")
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'D:\\demo\\a.txt' -> 'D:\\demo\\b.txt'
使用 rename()函数重命名目录和重命名文件基本相同,只需要将文件路径替换为目录路径即可。例如,将 D:\demo 目录重命名为 new 目录,可以执行如下代码:
import os os.rename("D:\\demo","D:\\new") print("重命名完毕")同重命名文件名一样,当 rename() 找不到要重命名的目录时,也会抛出 FileNotFoundError 异常:
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\demo.py", line 2, in <module>
os.rename("D:\\demo","D:\\new") FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'D:\\demo' -> 'D:\\new'
注意,在对目录进行重命名时,只能修改最后一级的目录名称,也就是说,只能修改目录名,而不能移动它的位置。
如果想避免出现 FileNotFoundError 异常,可以在删除文件或目录时,先判断目标文件或目录是否存在,即如果存在才执行删除操作,执行代码如下:
import os if os.path.exists("D:\\demo\\a.txt"): os.rename("D:\\demo\\a.txt","D:\\demo\\b.txt") print("文件重命名完毕")除此之外,还可以使用 try except 语句避免出现 FileNotFoundError 异常,执行代码如下:
import os try: os.rename("D:\\demo","D:\\new") print("重命名完毕") except(FileNotFoundError): print("目录不存在")
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算