iT邦幫忙

0

Python Deleting Files and Folders

  • 分享至 

  • xImage
  •  

在 Python 中,您可以使用內建模組 os 和 shutil 來刪除檔案和資料夾。
以下是一些關鍵的概念和方法:

刪除檔案

使用 os.remove() 方法來刪除單一檔案。
範例程式碼

import os

# 檔案路徑
file_path = "example.txt"

# 檢查檔案是否存在,然後刪除
if os.path.exists(file_path):
    os.remove(file_path)
    print(f"{file_path} 已刪除")
else:
    print(f"{file_path} 不存在")

注意
如果檔案不存在且直接執行 os.remove(),會拋出 FileNotFoundError。
確保在執行刪除前,確認檔案路徑正確。

刪除空資料夾

使用 os.rmdir() 刪除空資料夾。
範例程式碼

import os

# 資料夾路徑
folder_path = "empty_folder"

# 檢查資料夾是否存在,然後刪除
if os.path.exists(folder_path):
    os.rmdir(folder_path)
    print(f"{folder_path} 已刪除")
else:
    print(f"{folder_path} 不存在")

os.rmdir() 只能刪除空資料夾。如果資料夾中有檔案,會引發 OSError。

刪除非空資料夾

使用 shutil.rmtree() 刪除資料夾及其內容(包含檔案和子資料夾)。
範例程式碼

import shutil

# 資料夾路徑
folder_path = "non_empty_folder"

# 檢查資料夾是否存在,然後刪除
if os.path.exists(folder_path):
    shutil.rmtree(folder_path)
    print(f"{folder_path} 已刪除,包括其中的所有內容")
else:
    print(f"{folder_path} 不存在")

注意
shutil.rmtree() 是強力刪除,會移除資料夾及其所有內容,請謹慎操作。
如果要在刪除前詢問用戶確認,可以結合輸入功能。

其他實用技巧

刪除特定條件的檔案
可以結合 os.listdir() 和條件判斷來刪除特定檔案,例如刪除 .txt 檔案:

import os

folder_path = "example_folder"

# 列出資料夾中的檔案
for file_name in os.listdir(folder_path):
    if file_name.endswith(".txt"):  # 找到所有 .txt 檔案
        os.remove(os.path.join(folder_path, file_name))
        print(f"{file_name} 已刪除")

避免潛在問題

權限問題:確認執行程式的使用者具有刪除檔案/資料夾的權限。
不存在的路徑:在操作前使用 os.path.exists() 確保路徑有效。
不必要的遞迴操作:避免錯誤地刪除不應刪除的父資料夾。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言