>백엔드 개발 >파이썬 튜토리얼 >Python에서 파일을 삭제하는 여러 가지 방법 설명

Python에서 파일을 삭제하는 여러 가지 방법 설명

coldplay.xixi
coldplay.xixi앞으로
2021-03-17 10:19:2745581검색

Python에서 파일을 삭제하는 여러 가지 방법 설명

개발자는 파일을 삭제해야 하는 경우가 많습니다. 실수로 파일을 만들었거나 파일이 더 이상 필요하지 않을 수도 있습니다. 이유가 무엇이든 수동으로 파일을 찾고 삭제하기 위해 UI와 상호 작용할 필요 없이 Python을 통해 파일을 삭제할 수 있는 방법이 있습니다.

(무료 학습 추천: python 동영상 튜토리얼)

Python을 사용하여 파일을 삭제하는 방법에는 여러 가지가 있지만 가장 좋은 방법은 다음과 같습니다:

  • os.remove()Delete filesos.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()파일을 삭제하세요. remove() 메소드의 Unix 이름입니다. 🎜🎜🎜shutil.rmtree()디렉터리와 그 아래의 모든 내용을 삭제합니다. 🎜🎜🎜pathlib.Path.unlink()는 Python 3.4 이상에서 단일 파일 pathlib 모듈을 제거하는 데 사용됩니다. 🎜🎜os.remove()파일 삭제🎜🎜Python의 OS 모듈은 운영 체제와 상호 작용하는 기능을 제공합니다. OS는 Python의 표준 유틸리티 모듈에 속합니다. 이 모듈은 운영 체제 종속 기능을 사용하는 이식 가능한 방법을 제공합니다. 🎜🎜Python의 os.remove() 메서드는 파일 경로를 제거하는 데 사용됩니다. 이 방법은 디렉터리를 삭제할 수 없습니다. 지정된 경로가 디렉터리인 경우 이 메서드는 OSError를 발생시킵니다. 🎜🎜참고: os.rmdir()을 사용하여 디렉터리를 삭제할 수 있습니다. 🎜🎜구문:🎜🎜다음은 Python 파일을 삭제하는 remove() 메소드의 구문입니다: 🎜
Shutil.rmtree(path,ignore_errors = False,onerror = None)
🎜매개변수🎜🎜🎜 🎜 경로 – 삭제할 경로 또는 파일 이름입니다. 🎜🎜반환 값🎜🎜 remove() 메서드에는 반환 값이 없습니다. 🎜🎜 os.remove 함수를 사용하여 Python 파일을 삭제하는 몇 가지 예를 살펴보겠습니다. 🎜🎜예 1: 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)
🎜출력: 🎜
#Example of file deletion by pathlib
 
import pathlib
 
rem_file = pathlib.Path("pythonpool/testfile.txt")

rem_file.unlink()
🎜설명: 위의 예에서는 파일을 삭제했거나 testfile.txt라는 파일의 경로를 삭제했습니다. 프로그램 흐름을 설명하는 단계는 다음과 같습니다. 🎜🎜1. 먼저 os 라이브러리에 remove() 메서드가 있으므로 os 라이브러리를 가져왔습니다. 🎜🎜2. 그런 다음 내장 함수 os.remove()를 사용하여 파일 경로를 제거합니다. 🎜🎜3. 이 예에서 샘플 파일은 "test_file.txt"입니다. 여기에 필요한 파일을 배치할 수 있습니다. 🎜🎜참고: 위의 예에서는 test_file.txt라는 파일이 없으면 오류가 발생합니다. 따라서 삭제하기 전에 해당 파일이 사용 가능한지 확인하는 것이 좋습니다. 🎜🎜예 2: Os.Path.Isfile을 사용하여 파일이 존재하는지 확인하고 Os.Remove를 사용하여 삭제합니다 🎜🎜예제 1에서는 디렉터리에 있는 파일을 삭제했습니다. os.remove() 메서드는 작업 디렉터리에서 제거할 파일을 검색합니다. 따라서 파일이 존재하는지 확인하는 것이 좋습니다. 🎜🎜해당 경로에 특정 이름의 파일이 있는지 확인하는 방법을 알아봅시다. 파일 가용성을 확인하기 위해 os.path.isfile을 사용하고 있습니다. 🎜rrreee🎜출력: 🎜rrreee🎜위 예에서는 os.pasth.isfile() 메서드만 추가했습니다. 이 방법을 사용하면 파일이 특정 위치에 존재하는지 여부를 확인할 수 있습니다. 🎜🎜예 3: 특정 확장자를 가진 모든 파일을 삭제하는 Python 프로그램 🎜rrreee🎜출력: 🎜🎜이 프로그램을 사용하여 확장자가 인 파일을 삭제합니다. .txt. 🎜🎜설명:🎜🎜🎜🎜os 모듈과 listdir을 os 모듈에서 가져옵니다. 특정 폴더에 있는 모든 파일의 목록을 얻으려면 listdir을 사용해야 하며, 파일을 삭제하려면 os 모듈이 필요합니다. 🎜🎜🎜my_path는 모든 파일이 포함된 폴더의 경로입니다. 🎜🎜🎜주어진 폴더의 파일을 반복하고 있습니다. listdir은 특정 폴더의 모든 파일 목록을 가져오는 데 사용됩니다. 🎜🎜🎜endswith는 파일이 .txt 확장자로 끝나는지 확인하는 데 사용됩니다. 폴더의 모든 .txt 파일을 삭제할 때 조건을 확인할 수 있으면 이 작업이 수행됩니다. 🎜🎜🎜파일 이름이 .txt 확장자로 끝나면 os.remove() 함수를 사용하여 파일을 삭제합니다. 이 함수는 파일 경로를 매개변수로 사용합니다. my_path + file_name은 삭제하려는 파일의 전체 경로입니다. 🎜🎜예 4: 폴더의 모든 파일을 삭제하는 Python 프로그램🎜🎜특정 디렉터리의 모든 파일을 삭제하려면 *를 사용하세요. 기호를 패턴 문자열로 사용합니다. 🎜rrreee🎜출력:🎜rrreee🎜이 예에서는 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.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제