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() 方法将名为“tutorialsdir”的目录重命名为“tutorialsdirectory”。

import os, sys

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

# renaming directory "tutorialsdir"
os.rename("tutorialsdir","tutorialsdirectory")

print ("Successfully renamed")

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

运行以上程序时,会产生以下结果:

The dir is:
 [  'a1.txt','resume.doc','a3.py','tutorialsdir','amrood.admin' ]
Successfully renamed
The dir is:
 [  'a1.txt','resume.doc','a3.py','tutorialsdirectory','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.
python_files_io.htm
广告