Heim  >  Artikel  >  Backend-Entwicklung  >  Erklären Sie verschiedene Methoden zum Löschen von Dateien in Python

Erklären Sie verschiedene Methoden zum Löschen von Dateien in Python

coldplay.xixi
coldplay.xixinach vorne
2021-03-17 10:19:2745489Durchsuche

Erklären Sie verschiedene Methoden zum Löschen von Dateien in Python

Oft müssen Entwickler Dateien löschen. Möglicherweise hat er die Datei versehentlich erstellt oder die Datei wird nicht mehr benötigt. Was auch immer der Grund sein mag, es gibt Möglichkeiten, Dateien über Python zu löschen, ohne die Datei manuell suchen und mit der Benutzeroberfläche interagieren zu müssen, um sie zu löschen.

(Kostenlose Lernempfehlung: Python-Video-Tutorial)

Es gibt viele Möglichkeiten, Dateien mit Python zu löschen, aber der beste Weg ist wie folgt:

  • os.remove()Löschen Dateienos.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

🎜os.unlink()Löschen Sie die Datei. Es ist der Unix-Name der Methode remove(). 🎜🎜🎜shutil.rmtree()Löscht das Verzeichnis und alle Inhalte darunter. 🎜🎜🎜pathlib.Path.unlink() wird in Python 3.4 und höher verwendet, um ein einzelnes Dateimodul pathlib zu entfernen. 🎜🎜os.remove()Dateien löschen🎜🎜Das OS-Modul in Python bietet Funktionen zur Interaktion mit dem Betriebssystem. OS gehört zu den Standard-Dienstprogrammmodulen von Python. Dieses Modul bietet eine portable Möglichkeit, betriebssystemabhängige Funktionen zu nutzen. 🎜🎜Die Methode os.remove() in Python wird zum Entfernen von Dateipfaden verwendet. Diese Methode kann keine Verzeichnisse löschen. Wenn der angegebene Pfad ein Verzeichnis ist, löst diese Methode OSerror aus. 🎜🎜Hinweis: Verzeichnisse können mit os.rmdir() gelöscht werden. 🎜🎜Syntax:🎜🎜Das Folgende ist die Syntax der remove()-Methode zum Löschen von Python-Dateien: 🎜
Shutil.rmtree(path,ignore_errors = False,onerror = None)
🎜Parameter🎜🎜🎜 🎜 path – Dies ist der Pfad oder Dateiname, der gelöscht werden soll. 🎜🎜Rückgabewert🎜🎜Die Methode remove() hat keinen Rückgabewert. 🎜🎜Sehen wir uns einige Beispiele für die Verwendung der Funktion os.remove zum Löschen von Python-Dateien an. 🎜🎜Beispiel 1: Einfaches Beispiel für das Löschen einer Datei mit der Methode OS.Remove(). 🎜
# 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)
🎜Ausgabe: 🎜
#Example of file deletion by pathlib
 
import pathlib
 
rem_file = pathlib.Path("pythonpool/testfile.txt")

rem_file.unlink()
🎜Erläuterung: Im obigen Beispiel haben wir die Datei oder den Pfad zur Datei mit dem Namen testfile.txt gelöscht. Die Schritte zur Erläuterung des Programmablaufs sind wie folgt: 🎜🎜1. Zuerst haben wir die Betriebssystembibliothek importiert, da die Methode remove() in der Betriebssystembibliothek vorhanden ist. 🎜🎜2. Dann verwenden wir die integrierte Funktion os.remove(), um den Pfad der Datei zu entfernen. 🎜🎜3. In diesem Beispiel ist unsere Beispieldatei "test_file.txt". Hier können Sie die benötigten Dateien ablegen. 🎜🎜Hinweis: Das obige Beispiel gibt einen Fehler aus, wenn keine Datei mit dem Namen test_file.txt vorhanden ist. Daher ist es besser, vor dem Löschen zu prüfen, ob die Datei verfügbar ist. 🎜🎜Beispiel 2: Verwenden Sie Os.Path.Isfile, um zu prüfen, ob die Datei existiert, und verwenden Sie Os.Remove, um sie zu löschen 🎜🎜In Beispiel 1 haben wir gerade die im Verzeichnis vorhandenen Dateien gelöscht. Die Methode os.remove() durchsucht das Arbeitsverzeichnis nach der zu entfernenden Datei. Daher ist es besser zu prüfen, ob die Datei existiert. 🎜🎜Lassen Sie uns lernen, wie Sie überprüfen können, ob eine Datei mit einem bestimmten Namen in diesem Pfad verfügbar ist. Wir verwenden os.path.isfile, um die Dateiverfügbarkeit zu überprüfen. 🎜rrreee🎜Ausgabe: 🎜rrreee🎜Im obigen Beispiel haben wir nur die Methode os.pasth.isfile() hinzugefügt. Mit dieser Methode können wir herausfinden, ob eine Datei an einem bestimmten Ort vorhanden ist. 🎜🎜Beispiel 3: Python-Programm zum Löschen aller Dateien mit einer bestimmten Erweiterung 🎜rrreee🎜Ausgabe: 🎜🎜Mit diesem Programm löschen wir Dateien mit der Erweiterung .txt. 🎜🎜Erklärung:🎜🎜🎜🎜Importieren Sie das Betriebssystemmodul und listdir aus dem Betriebssystemmodul. listdir muss verwendet werden, um eine Liste aller Dateien in einem bestimmten Ordner abzurufen, und das Betriebssystemmodul ist zum Löschen von Dateien erforderlich. 🎜🎜🎜my_path ist der Pfad zu dem Ordner, der alle Dateien enthält. 🎜🎜🎜Wir durchlaufen die Dateien im angegebenen Ordner. listdir wird verwendet, um eine Liste aller Dateien in einem bestimmten Ordner abzurufen. 🎜🎜🎜endswith wird verwendet, um zu prüfen, ob die Datei mit der Erweiterung .txt endet. Dies geschieht, wenn die Bedingung überprüft werden kann, wenn wir alle .txt-Dateien im Ordner löschen. 🎜🎜🎜Wenn der Dateiname mit der Erweiterung .txt endet, verwenden wir die Funktion os.remove(), um die Datei zu löschen. Diese Funktion verwendet den Pfad zur Datei als Parameter. my_path + file_name ist der vollständige Pfad der Datei, die wir löschen möchten. 🎜🎜Beispiel 4: Python-Programm zum Löschen aller Dateien in einem Ordner🎜🎜Um alle Dateien in einem bestimmten Verzeichnis zu löschen, verwenden Sie einfach * Symbol als Musterzeichenfolge. 🎜rrreee🎜Ausgabe:🎜rrreee🎜In diesem Beispiel löschen wir alle Dateien im Ordner 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教程(视频)

Das obige ist der detaillierte Inhalt vonErklären Sie verschiedene Methoden zum Löschen von Dateien in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen