搜尋
首頁後端開發Python教學講解Python 中刪除檔案的幾種方法

講解Python 中刪除檔案的幾種方法

Mar 17, 2021 am 10:19 AM
python刪除文件

講解Python 中刪除檔案的幾種方法

很多時候開發者需要刪除檔案。可能是他錯誤地創建了文件,或者不再需要該文件。無論出於何種原因,都有一些方法可以透過Python來刪除文件,而無需手動查找文件並透過UI互動來進行刪除操作。

(免費學習推薦:python影片教學

使用Python刪除檔案有多種方法,但最好的方法如下:

  • os.remove()刪除檔案

  • #os.unlink()刪除檔案。它是remove()方法的Unix名稱。

  • shutil.rmtree()刪除目錄及其下面所有內容。

  • pathlib.Path.unlink()在Python 3.4及更高版本中用來刪除單一檔案pathlib模組。

os.remove()刪除檔案

Python中的OS模組提供了與作業系統互動的功能。 OS屬於Python的標準實用程式模組。該模組提供了使用依賴作業系統的功能的便攜式方法。

Python中的os.remove()方法用於刪除檔案路徑。此方法無法刪除目錄。如果指定的路徑是目錄,則該方法將引發OSError

注意:可以使用os.rmdir()刪除目錄。

句法:

以下是remove()方法刪除Python檔的語法:

os.remove(path)

參數

  • path —— 這是要刪除的路徑或檔案名稱。

傳回值

remove()方法沒有傳回值。

我們來看一些使用os.remove函數刪除Python檔的範例。

範例1:使用OS.Remove()方法刪除檔案的基本範例。

# Importing the os library
import os

# Inbuilt function to remove files
os.remove("test_file.txt")
print("File removed successfully")

輸出:

File removed successfully

說明:在上面的範例中,我們刪除了檔案或刪除了名為testfile.txt的檔案的路徑。解釋程式流程的步驟如下:

1.首先,我們匯入了os庫,因為os庫中存在remove()方法。

2.然後,我們使用內建函數os.remove()刪除檔案的路徑。

3.在此範例中,我們的範例檔案是“ test_file.txt”。您可以在此處放置所需的文件。

注意:如果沒有名為test_file.txt的文件,則上面的範例將引發錯誤。因此,最好在刪除文件之前先檢查文件是否可用。

範例2:使用Os.Path.Isfile檢查檔案是否存在並使用Os.Remove刪除它

在範例1中,我們剛剛刪除了目錄中存在的檔案。 os.remove()方法將在工作目錄中搜尋要刪除的檔案。因此,最好檢查文件是否存在。

讓我們學習如何檢查具有特定名稱的檔案在該路徑中是否可用。我們正在使用os.path.isfile來檢查檔案的可用性。

#importing the os Library
import os

#checking if file exist or not
if(os.path.isfile("test.txt")):
    
    #os.remove() function to remove the file
    os.remove("demo.txt")
    
    #Printing the confirmation message of deletion
    print("File Deleted successfully")
else:
print("File does not exist")
#Showing the message instead of throwig an error

輸出:

File Deleted successfully

在上面的範例中,我們只加入了os.pasth.isfile()方法。這種方法有助於我們找出文件是否存在於特定位置。

範例3:Python程式刪除具有特定副檔名的所有檔案

import os 
from os import listdir
my_path = 'C:\Python Pool\Test\'

for file_name in listdir(my_path):
    
    if file_name.endswith('.txt'):
      
        os.remove(my_path + file_name)

輸出:

使用此程序,我們將從資料夾刪除副檔名為.txt的所有檔案。

解釋:

  • 從os模組匯入os模組和listdir。必須使用listdir才能取得特定資料夾中所有檔案的列表,並且需要os模組才能刪除檔案。

  • my_path是包含所有檔案的資料夾的路徑。

  • 我們正在遍歷給定資料夾中的檔案。 listdir用於取得特定資料夾中所有檔案的一個清單。

  • endswith用於檢查檔案是否以.txt副檔名結尾。當我們刪除資料夾中的所有.txt檔案時,如果條件可以驗證,請進行此操作。

  • 如果檔案名稱以.txt副檔名結尾,我們將使用os.remove()函數刪除該檔案。此函數將文件的路徑作為參數。 my_path file_name是我們要刪除的檔案的完整路徑。

範例4:刪除資料夾中所有文件的Python程式

要刪除特定目錄中的所有文件,只需使用*符號作為模式字串。

#Importing os and glob modules
import os, glob

#Loop Through the folder projects all files and deleting them one by one
for file in glob.glob("pythonpool/*"):
    os.remove(file)
    print("Deleted " + str(file))

輸出:

Deleted pythonpool\test1.txt
Deleted pythonpool\test2.txt
Deleted pythonpool\test3.txt
Deleted pythonpool\test4.txt

在此範例中,我們將刪除pythonpool資料夾中的所有檔案。

注意:如果文件夹包含其他子文件夹,则可能会报错,因为glob.glob()方法将获取所有文件夹内容的名称,无论它们是文件还是子文件夹。因此,请尝试使模式更具体(例如*.*),以仅获取具有扩展名的内容。

使用os.unlink()删除Python文件

os.unlink()os.remove()的别名。在Unix OS中,删除也称为unlink

注意:所有功能和语法与os.unlink()os.remove()相同。它们都用于删除Python文件路径。两者都是Python标准库的os模块中执行删除功能的方法。

它有两个名称,别名:os.unlink()os.remove()

为同一个函数提供两个别名的可能原因是,该模块的维护者认为,许多程序员可能会从C的底层编程转向Python,其中库函数和底层系统调用称为unlink(),而其他人则可能会使用rm命令(“删除”的缩写)或shell脚本来简化语言。

使用shutil.rmtree()删除Python文件

shutil.rmtree():删除指定的目录,所有子目录和所有文件。此功能特别危险,因为它无需检查即可删除所有内容。结果,您可以使用此功能轻松丢失数据。

rmtree()是shutil模块下的一种方法,该方法以递归方式删除目录及其内容。

句法:

Shutil.rmtree(path,ignore_errors = False,onerror = None)

参数:

path:类似路径的对象,表示文件路径。类路径对象是表示路径的字符串或字节对象。

ignore_errors:如果ignore_errorstrue,则删除失败导致的错误将被忽略。

oneerror:如果ignore_errorsfalse或被忽略,则通过调用onerror指定的处理程序来处理此类错误。

我们来看一个使用python脚本删除文件的示例。

示例:使用Shutil.Rmtree()删除文件的Python程序

# Python program to demonstrate shutil.rmtree() 
 
import shutil 
import os 
 
# location 
location = "E:/Projects/PythonPool/"
 
# directory 
dir = "Test"
 
# path 
path = os.path.join(location, dir) 
 
# removing directory 
shutil.rmtree(path)

输出:

它将删除Test内文件的整个目录,包括Test文件夹本身。

Python中使用pathlib.Path.unlink()删除文件

pathlib模块在Python  3.4及更高版本中可用。如果要在Python 2中使用此模块,可以使用pip进行安装。pathlib提供了一个面向对象的界面,用于处理不同操作系统的文件系统路径。

要使用pathlib模块删除文件,请创建一个指向该文件的Path对象,然后对该对象调用unlink()方法:

示例:使用Pathlib删除文件的Python程序

#Example of file deletion by pathlib
 
import pathlib
 
rem_file = pathlib.Path("pythonpool/testfile.txt")

rem_file.unlink()

在上面的示例中,path()方法用于检索文件路径,而unlink()方法用于删除指定路径的文件。

unlink()方法适用于文件。如果指定了目录,则会引发OSError。要删除目录,我们可以采用前面讨论的方法之一。

结论

在本文中,我们学习了Python删除文件的各种方法。使用Python删除文件或文件夹的语法非常简单。但是,请注意,一旦执行上述命令,您的文件或文件夹将被永久删除。

如果您仍然对Python删除文件有任何疑问。请在下面的评论部分中告诉我们。

大量免费学习推荐,敬请访问python教程(视频)

以上是講解Python 中刪除檔案的幾種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
Python:遊戲,Guis等Python:遊戲,Guis等Apr 13, 2025 am 12:14 AM

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python vs.C:申請和用例Python vs.C:申請和用例Apr 12, 2025 am 12:01 AM

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時的Python計劃:一種現實的方法2小時的Python計劃:一種現實的方法Apr 11, 2025 am 12:04 AM

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python:探索其主要應用程序Python:探索其主要應用程序Apr 10, 2025 am 09:41 AM

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

您可以在2小時內學到多少python?您可以在2小時內學到多少python?Apr 09, 2025 pm 04:33 PM

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎?如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎?Apr 02, 2025 am 07:18 AM

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到?如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到?Apr 02, 2025 am 07:15 AM

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python 3.6加載Pickle文件報錯"__builtin__"模塊未找到怎麼辦?Python 3.6加載Pickle文件報錯"__builtin__"模塊未找到怎麼辦?Apr 02, 2025 am 07:12 AM

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具