Python os.rename() 方法



Python os.rename() 方法用于更改现有文件或目录的名称。如果新文件或目录名称已存在,则将引发 OSError。

要重命名文件或目录,我们需要将旧路径和新路径作为参数传递给 rename()。

语法

以下是 Python os.rename() 方法的语法 -


 os.rename(src, dst, *, src_dir_fd, dst_dir_fd)

参数

Python os.rename() 接受两个参数,如下所示 -

  • src − 这是文件或目录的现有名称。
  • dst - 这是文件或目录的新名称。
  • src_dir_fd − 此参数指定引用目录的文件描述符。
  • dst_dir_fd − 它是引用目录的文件描述符。

返回值

Python os.rename() 方法不返回任何值。

在以下示例中,我们使用 rename() 方法将名为 “qikepudir” 的目录重命名为 “qikepusdirectory”。


import os, sys

# listing directories
print ("The dir is: %s"%os.listdir(os.getcwd()))

# renaming directory "qikepudir"
os.rename("qikepudir","qikepudirectory")

print ("Successfully renamed")

# listing directories after renaming "qikepudir"
print ("the dir is: %s" %os.listdir(os.getcwd()))

当我们运行上述程序时,它会产生以下结果——

The dir is:
[ 'a1.txt','resume.doc','a3.py','qikepudir','amrood.admin' ]
Successfully renamed
The dir is:
[ 'a1.txt','resume.doc','a3.py','qikepudirectory','amrood.admin' ]

如果旧文件不存在,或者新文件已经存在,则 rename() 方法会抛出 “OSError”。以下示例说明了如何处理此类错误。


import os

try:
	 	# renaming	
	 	os.rename("newdir", 'tpwork')
except FileNotFoundError:
	 	print("The file or directory does not exist.")
except PermissionError:
	 	print("you don't have permissions to rename the file")
except OSError as error:
	 	print(f"Error: {error}")

当我们运行上述程序时,它会产生以下结果——

The file or directory does not exist.