當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python os.rename和shutil.move的區別用法及代碼示例


當涉及到重命名或移動文件和目錄時,兩種常用的方法是 os.重命名並關閉。移動。雖然兩者都可以實現重命名和移動的目的,但它們在函數和用例方麵有明顯的差異。在本文中,我們將探討這些差異以及何時使用它們。

操作係統之間的區別。重命名並關閉。在Python中移動

兩個操作係統。重命名並關閉。移動是很有價值的工具Python用於重命名和移動文件和目錄。它們之間的選擇取決於您的任務的複雜性以及文件操作操作的具體要求。

何時使用 os.重命名並shutil.move:

用於os.rename()什麽時候:

  • 您需要在同一目錄中執行基本的重命名操作。
  • 原子性對於您的操作至關重要。

用於shutil.move()什麽時候:

  • 您需要在不同的文件係統或設備之間移動文件或目錄。
  • 您希望確保自動創建目標目錄。
  • 您需要處理現有文件的覆蓋。
  • 您想要保留文件元數據和屬性。

os.rename 的示例

重命名文件

它將把文件‘old_file.txt’重命名為‘new_file.txt’,並顯示一條消息,指示重命名過程成功。

Python3


import os
# Current file name
old_name = 'old_file.txt'
# New file name
new_name = 'new_file.txt'
# Rename the file
os.rename(old_name, new_name)
print(f"File '{old_name}' has been renamed to '{new_name}'.")

輸出

os. rename

文件重命名為 GFG

重命名目錄

它將把目錄 ‘old_directory’ 重命名為 ‘new_directory’ 並顯示一條消息,指示重命名過程成功。

Python3


import os
# Current directory name
old_dir = 'old_directory'
# New directory name
new_dir = 'new_directory'
# Rename the directory
os.rename(old_dir, new_dir)
print(f"Directory '{old_dir}' has been renamed to '{new_dir}'.")

輸出

Screenshot-2023-09-18-122411-(1)

重命名目錄

shutil.move 的示例

將文件移動到不同的目錄

此代碼使用shutil 模塊將文件從源位置移動到目標目錄。它首先指定源文件和目標目錄的路徑。然後,它使用這些路徑調用shutil.move()來執行移動操作。

Python3


import shutil
# Source file path
source_file = 'source_directory/source_file.txt'
# Destination directory path
destination_directory = 'destination_directory/'
# Move the file to the destination directory
shutil.move(source_file, destination_directory)
print(f"File '{source_file}' has been moved to '{destination_directory}'.")

輸出

Screenshot-2023-09-18-114307

將文件移動到不同的目錄

使用 shutil.move 處理覆蓋

此代碼使用 Python 中的 Shutil 庫將文件從源目錄移動到目標目錄,可能會覆蓋目標目錄中的同名文件。

Python3


import shutil
# Source file path
source_file = 'source_directory/file.txt'
# Destination directory path
destination_directory = 'destination_directory/'
# Destination file path (same name as the source)
destination_file = 'destination_directory/file.txt'
# Move the file to the destination directory (overwrites if exists)
shutil.move(source_file, destination_file)
print(f"File '{source_file}' has been moved to '{destination_file
                                        }' (overwriting if necessary).")

輸出

Screenshot-2023-09-18-115947-(3)

使用 shutil.move 處理覆蓋



相關用法


注:本文由純淨天空篩選整理自amitgupm1wy大神的英文原創作品 Difference Between os.rename and shutil.move in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。