如何使用Python移動並覆蓋檔案和資料夾?


檔案在我們系統中是非常重要的文件。我們在檔案中儲存重要的資料,移動這些檔案也是組織系統的一項重要任務。因此,我們將學習如何使用Python模組移動和覆蓋檔案和資料夾。

理解問題的邏輯

我們面臨的問題是,必須建立一個用於在Python中移動和覆蓋檔案和資料夾的程式碼。為了解決這個問題,我們將匯入Python的os和shutil庫。因此,藉助這些庫,我們可以移動和覆蓋系統中的檔案和資料夾。為了移動和覆蓋,我們必須給出特定檔案或資料夾的路徑。

Python的Shutil和os庫的用途是什麼?

Python中的Shutil模組提供了許多關於檔案和檔案集合的高階處理。此模組主要提供用於促進檔案刪除和複製的工具。shutil模組提供諸如move、copy、listdir、delete等函式。

Python的OS模組提供用於新增和刪除資料夾或目錄的函式,並用於檢索目錄中的內容。它還用於更改當前目錄等等。簡單來說,我們可以說這個模組提供了利用作業系統功能的功能。在這個模組中,提供了open、close、write等函式。

演算法 - 移動檔案

  • 步驟1 − 匯入必要的庫,如os和shutil。

  • 步驟2 − 接下來,我們將指定原始檔和目標檔案的路徑,用於將檔案從原始檔夾移動到目標資料夾。

  • 步驟3 − 之後,我們將檢查檔案是否已存在,如果存在則將其從目標資料夾中刪除。

  • 步驟4 − 並使用shutil將原始檔移動到目標資料夾。

示例 - 移動檔案

import os
import shutil

# Move a file
src_file = 'D:/folder/Source folder/file.txt'
dest_file = 'D:/folder/Destination folder/'

# Remove destination file if it exists
if os.path.exists(dest_file):
   os.remove(dest_file)

# Move the file
shutil.move(src_file, dest_file)

輸出

Process finished with exit code 0

上面的輸出表明我們的檔案已從原始檔夾移動或替換到目標資料夾。

演算法 - 移動資料夾

  • 步驟1 − 匯入庫 - os和shutil。

  • 步驟2 − 接下來,我們將指定原始檔夾和目標資料夾的路徑,這將用於將資料夾從原始檔夾移動到目標資料夾。

  • 步驟3 − 然後檢查資料夾是否已存在於目標資料夾中,如果存在則將其刪除。

  • 步驟4 − 並使用shutil將原始檔夾移動到目標資料夾。

示例 - 移動資料夾

import os
import shutil

# Move a folder (directory)
src_folder = 'C:/Users/Desktop/folder/Source folder'
dest_folder = 'C:/Users/Desktop/folder/Destination folder'

# Remove destination folder if it exists
if os.path.exists(dest_folder):
   shutil.rmtree(dest_folder)

# Move the folder
shutil.move(src_folder, dest_folder)

輸出

Process finished with exit code 0

上面的輸出意味著您的資料夾已從原始檔夾移動到目標資料夾。

演算法 - 覆蓋檔案和資料夾

  • 步驟1 − 匯入庫 - os和shutil來覆蓋檔案和資料夾。

  • 步驟2 − 接下來,我們將指定原始檔夾/檔案和目標資料夾/檔案的路徑。此路徑將用於將資料夾從原始檔夾移動到目標資料夾。

  • 步驟3 − 然後我們將檢查檔案/資料夾是否已存在於目標資料夾中,如果存在則將其刪除。

  • 步驟4 − 並使用shutil將原始檔夾/檔案移動到目標資料夾。

示例 - 覆蓋檔案和資料夾

import shutil

# Overwrite a file
src_file = 'D:/My Folder/Source/my_file.txt'
dest_file = 'D:/My Folder/Destination/my_file.txt'

shutil.copy(src_file, dest_file)

# Overwrite a directory
src_folder= 'D:/source/My folder'
dest_folder = 'D:/destination/My folder'  # Overwrite the directory name folder

shutil.copytree(src_folder, dest_folder, dirs_exist_ok=True)

輸出

Process finished with exit code 0

上面的輸出意味著您的資料夾已從原始檔夾覆蓋到目標資料夾。

結論

在本文中,我們學習了Python的shutil和os庫的用法。藉助這些庫,移動檔案或資料夾很容易。要移動或覆蓋檔案或資料夾,我們只需要提供原始檔夾/檔案和目標資料夾/檔案的路徑。

更新於:2023年10月16日

2K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告