如何使用 Python 刪除檔案?


有時我們需要在 Python 中以程式設計方式刪除檔案。在此上下文中,刪除檔案是指使用 Python 程式語言從計算機的檔案系統中刪除或擦除檔案。您必須知道,當您刪除檔案時,它會從儲存位置永久刪除;這釋放了磁碟空間並使檔案無法訪問。Python 有許多模組和函式,例如 os.remove() 或 os.unlink(),允許您與作業系統互動並使用程式碼刪除檔案。當我們想要自動化任務、管理檔案系統或在 Python 指令碼或應用程式中執行清理操作時,此功能特別有用。

使用 Python 刪除檔案是一項簡單直接的任務。Python 具有一個名為 os 的內建模組,允許您與作業系統互動並執行各種與檔案相關的操作,包括刪除檔案。以下是如何使用 Python 刪除檔案的不同方法

使用 os.remove() 函式

示例

  • 首先,我們匯入 os 模組;它有幾個有用的函式可以幫助刪除檔案。

  • 接下來,我們提供要刪除的檔案的檔案路徑。您必須將給定程式碼中的 /path/to/file.txt 替換為您要刪除的檔案的實際路徑。

  • 最後,呼叫 os.remove() 函式並將檔案路徑作為引數傳遞。此函式會從檔案系統中刪除檔案。

  • 需要注意的是,os.remove() 函式會永久刪除檔案,此操作無法撤消。因此,在使用此函式時需要謹慎,並在需要時確保您擁有檔案的備份。

import os

# Specify the file path
file_path = '/path/to/file.txt'

# Remove the file
os.remove(file_path)

對於上述程式碼中給定路徑的某個檔案,發現程式碼執行刪除了該檔案。

使用 os.unlink() 函式

示例

第二個程式碼示例與第一個非常相似,但我們使用 os.unlink() 函式而不是 os.remove()。這兩個函式具有相同的刪除指定檔案的效果。

import os

# Specify the file path
file_path = '/path/to/file.txt'

# Remove the file
os.unlink(file_path)

對於上述程式碼中給定路徑的某個檔案,發現程式碼執行刪除了該檔案。

使用 os.path 模組

示例

在此特定示例中,我們首先匯入 os 模組以與作業系統互動。然後,我們提供要刪除的檔案的檔案路徑。使用 os.path.exists() 函式檢查檔案是否存在。如果檔案存在,我們呼叫 os.remove() 函式以刪除檔案。如果檔案不存在,則顯示相應的郵件。

import os

# Specify the file path
file_path = '/path/to/file.txt'

# Check if the file exists
if os.path.exists(file_path):
    # Remove the file
    os.remove(file_path)
    print("File removed successfully.")
else:
    print("File does not exist.")

輸出

對於上述程式碼中使用的某個檔案路徑,以下為輸出

File removed successfully.

使用 shutil 模組

示例

這裡,在這個例子中,我們使用 shutil 模組;此模組提供了更高級別的檔案操作。我們使用 shutil.rmtree() 而不是使用 os.remove() 函式。此函式遞迴刪除目錄路徑指示的目錄。與前面的刪除單個檔案的示例不同,shutil.rmtree() 可以遞迴刪除目錄及其內容。必須記住,在執行以下程式碼之前,將 /path/to/file.txt 替換為您要刪除的檔案的實際路徑。

import os
import shutil

# Specify the file path
directory_path = '/path/to/directory'

# Remove the directory and its contents
shutil.rmtree(directory_path)

對於在執行之前在上述程式碼中使用的某個目錄路徑,發現該目錄已遞迴刪除。

使用 pathlib 模組

示例

在下面給出的程式碼中,我們使用 pathlib 模組,該模組提供了一種面向物件的檔案系統操作方法。透過提供檔案路徑,建立一個表示我們要刪除的檔案的 Path 物件。然後,我們使用 Path 物件的 exists() 方法來驗證檔案是否存在。如果檔案存在,我們呼叫 unlink() 方法刪除檔案。如果檔案不存在,則顯示相應的郵件。

from pathlib import Path

# Specify the file path

file_path = Path('/path/to/file.txt')

# Check if the file exists
if file_path.exists():
    # Remove the file
    file_path.unlink()

    print("File removed successfully.")
else:
    print("File does not exist.")

輸出

對於在執行之前在上述程式碼中給定的某個檔案路徑,以下為輸出

File removed successfully.

使用 os 模組和異常處理

示例

在此程式碼中,我們使用 os.remove() 函式刪除檔案,如檔案路徑所示。我們將刪除程式碼放在 try-except 塊中以處理可能發生的異常。我們特別捕獲 FileNotFoundError 異常以處理檔案不存在的情況,捕獲 PermissionError 異常以處理與許可權相關的問題,並捕獲一般異常以捕獲任何其他不可預見的錯誤。根據遇到的相應異常型別列印郵件。必須始終記住,需要將 /path/to/file.txt 替換為您要刪除的檔案的實際路徑。

import os

# Specify the file path
file_path = '/path/to/file.txt'

try:
    # Remove the file
    os.remove(file_path)
    print("File removed successfully.")
except FileNotFoundError:
    print("File does not exist.")
except PermissionError:
    print("Permission denied. Unable to remove the file.")
except Exception as e:
    print(f"An error occurred: {str(e)}")

輸出

對於在執行之前在上述程式碼中給定的某個檔案路徑,以下為輸出。

File removed successfully.

在本文中,我們探討並討論了使用 Python 刪除檔案的幾種方法。我們已經看到,透過利用 os 模組的 remove() 或 unlink() 函式,您可以有效地從檔案系統中刪除檔案。我們還探討了使用 Python 刪除檔案的其他方法。透過利用 pathlib 模組並使用 os 模組、os.path.exists() 或 shutil.rmtree() 方法進行異常處理,您可以靈活地從檔案系統中刪除檔案。然後,您需要選擇最適合您需求的方法,並確保以優雅的方式處理異常,以維護程式的穩定性和完整性。

但是,您必須始終記住,在刪除檔案時需要謹慎,因為該操作是不可逆的。始終仔細檢查檔案路徑,並在必要時確保已採取適當的備份措施。

更新於: 2023-07-24

371 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.