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
廣告
© . All rights reserved.