Python 的 shutil 模組


Python 作為一種用途廣泛且功能強大的程式語言,提供了各種模組和庫來簡化各種任務。shutil 模組就是這樣一種模組,它代表“shell 工具”,提供了一套全面的函式來執行檔案和目錄操作。無論您需要複製、移動、重新命名還是刪除檔案和目錄,Python 的 shutil 模組都能透過其使用者友好且高效的功能來幫助您。

在本教程中,我們將深入探討 shutil 模組的世界,並探索其在 Python 中管理檔案和目錄的能力。我們將引導您瞭解 shutil 的關鍵特性和功能,並在此過程中提供實踐示例和程式碼片段。在文章的下一部分,我們將開始理解。讓我們直接進入,探索 Python 中 shutil 模組的強大功能!

Python 的 shutil 模組

在 Python 中處理檔案和目錄時,shutil 模組是一個強大的助手。它提供了一組函式,允許我們執行各種操作,例如複製、移動、重新命名和刪除檔案和目錄,以及處理檔案許可權。透過使用 shutil 模組,我們可以簡化複雜的檔案操作並輕鬆處理常見任務。

在本教程中,我們將探索 shutil 模組的關鍵功能,首先是複製檔案和目錄。使用 `shutil.copy()` 函式,我們可以建立單個檔案的副本。例如,假設我們在當前工作目錄中有一個名為“file.txt”的檔案,並且我們想建立一個名為“file_copy.txt”的副本。我們可以按如下方式實現:

import shutil

shutil.copy('file.txt', 'file_copy.txt')

執行此程式碼後,shutil 模組將建立原始“file.txt”的副本,名為“file_copy.txt”。

使用 shutil 模組進行檔案和目錄操作的優勢

在 Python 中進行檔案和目錄操作時,shutil 模組具有多個優勢。首先,它提供了一個簡單直觀的介面,使所有技能水平的開發人員都能輕鬆使用。無論您是初學者還是經驗豐富的 Python 程式設計師,您都可以快速掌握 shutil 模組的功能並在您的專案中使用它們。

其次,shutil 模組是跨平臺相容的,這意味著它可以在不同的作業系統(如 Windows、macOS 和 Linux)上無縫執行。這確保了您的程式碼可以在各種平臺上執行,而無需進行平臺特定的修改。無論您是在 Windows 上開發並在 Linux 上部署,還是反之亦然,shutil 模組都能確保一致且可靠的檔案操作。

在文章的下一部分,我們將繼續探索 shutil 模組的功能。

shutil 的關鍵特性和功能

複製檔案和目錄

複製檔案和目錄是檔案操作中的常見任務,shutil 模組提供了方便的函式來實現此目的。

複製單個檔案

要複製單個檔案,我們可以使用 `shutil.copy()` 函式。它接受兩個引數:原始檔的路徑和副本將放置到的目標位置。例如,假設我們在當前工作目錄中有一個名為“source.txt”的檔案,並且我們想建立一個名為“destination.txt”的副本。我們可以使用以下程式碼實現:

import shutil

shutil.copy('source.txt', 'destination.txt')

執行此程式碼將複製“source.txt”並建立一個名為“destination.txt”的新檔案,位於同一目錄中。

複製目錄及其內容

在複製整個目錄時,`shutil.copytree()` 函式是最佳選擇。它允許我們遞迴地將源目錄的內容複製到目標目錄。例如,假設我們有一個名為“source_dir”的目錄,並且我們想將其複製到一個名為“target_dir”的新目錄中。我們可以使用以下程式碼實現:

import shutil

shutil.copytree('source_dir', 'target_dir')

執行此程式碼將建立一個名為“target_dir”的新目錄,並將“source_dir”中的所有檔案和子目錄複製到其中。

移動檔案和目錄

移動檔案和目錄同時涉及複製和刪除操作。shutil 模組使用專用函式簡化了此過程。

移動單個檔案

要移動單個檔案,我們可以使用 `shutil.move()` 函式。它的工作方式類似於 `shutil.copy()` 函式,但在成功移動檔案後也會刪除原始檔案。例如,讓我們將名為“source_file.txt”的檔案移動到不同的位置:

import shutil

shutil.move('source_file.txt', 'destination_directory/source_file.txt')

執行此程式碼後,“source_file.txt”將被移動到指定的目標目錄,並且它將不再存在於其原始位置。

移動目錄及其內容

使用 shutil 模組移動目錄遵循與移動檔案相同的原則。`shutil.move()` 函式可用於移動整個目錄,包括其內容。例如,要將名為“source_directory”的目錄移動到新位置,我們可以使用以下程式碼:

import shutil

shutil.move('source_directory', 'destination_directory/source_directory')

執行此程式碼將把整個“source_directory”及其內容移動到指定的目標目錄。

重新命名檔案和目錄

shutil 模組允許我們使用 `shutil.move()` 函式重新命名檔案和目錄。要重新命名檔案或目錄,我們將當前路徑指定為源,並將所需的新名稱指定為目標。這是一個重新命名檔案的示例:

import shutil

shutil.move('old_name.txt', 'new_name.txt')

執行此程式碼後,“old_name.txt”檔案將被重新命名為“new_name.txt”。

刪除檔案和目錄

刪除檔案和目錄是一種常見操作,shutil 模組提供了一個簡單的函式來完成此任務。

要刪除檔案,我們可以使用內建 `os` 模組中的 `os.remove()` 函式。例如:

import os

os.remove('file.txt')

此程式碼將刪除名為“file.txt”的檔案。

要刪除空目錄,我們可以使用 `os.rmdir()` 函式。但是,如果目錄不為空,我們需要使用 `shutil.rmtree()` 函式,該函式會遞迴刪除目錄及其所有內容。這是一個示例:

import shutil

shutil.rmtree('directory')

執行此程式碼將刪除“directory”及其所有檔案和子目錄。

處理檔案許可權和屬性

shutil 模組還提供函式來處理檔案許可權和屬性。例如,我們可以使用 `shutil.copystat()` 函式將許可權位、上次訪問時間、上次修改時間和標誌從一個檔案複製到另一個檔案:

import shutil

shutil.copystat('source_file.txt', 'destination_file.txt')

執行此程式碼將把檔案屬性從“source_file.txt”複製到“destination_file.txt”。

結論

在本教程中,我們探討了 Python 中 shutil 模組在管理檔案和目錄方面的強大功能。我們討論了關鍵特性和功能,包括複製檔案和目錄、移動它們、重新命名它們和刪除它們。我們為每種方法提供了示例程式碼,以幫助您理解其用法並實際操作。此外,我們還介紹了使用 shutil 模組處理檔案許可權和屬性。

更新於:2023年7月26日

2K+ 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.