Python os.rename()函数:重命名文件或目录

os 模块提供了重命名文件和目录的函数 rename(),如果指定的路径是文件,则重命名文件;反之,如果执行的路径是目录,则重命名目录。

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("目录不存在")

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/22803.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论