Home >Backend Development >Python Tutorial >Explain several methods of deleting files in Python
Many times developers need to delete files. Maybe he created the file by mistake or the file is no longer needed. Whatever the reason, there are ways to delete files through Python without having to manually find the file and interact with the UI to delete it.
(Free learning recommendation: python video tutorial)
There are many ways to delete files using Python, but the best method is as follows:
os.remove()
Delete the file
os.unlink()
Delete the file. It is the Unix name of the remove()
method.
shutil.rmtree()
Deletes the directory and all contents below it.
pathlib.Path.unlink()
Used in Python 3.4 and later to delete a single file pathlib
module.
os.remove()
Delete files
The OS module in Python provides functions for interacting with the operating system Function. OS belongs to Python's standard utility modules. This module provides a portable way to use operating system-dependent functionality.
os.remove()
method in Python is used to remove file paths. This method cannot delete directories. If the specified path is a directory, this method will raise OSError
.
Note: Directories can be deleted using os.rmdir()
.
Syntax:
The following is the syntax for the remove()
method to delete Python files:
os.remove(path)
Parameters
path
- This is the path or file name to be deleted.
Return value
remove()
The method has no return value.
Let’s look at some examples of using the os.remove
function to delete Python files.
Example 1: Basic example of removing a file using the OS.Remove()
method.
# Importing the os library import os # Inbuilt function to remove files os.remove("test_file.txt") print("File removed successfully")
Output:
File removed successfully
Description: In the above example, we deleted the file or deleted the file named testfile.txt
The path of the file. The steps to explain the program flow are as follows:
1. First, we imported the os library, because the remove()
method exists in the os library.
2. Then, we use the built-in function os.remove()
to remove the path of the file.
3. In this example, our sample file is "test_file.txt"
. You can place the required files here.
Note: The above example will throw an error if there is no file named test_file.txt
. Therefore, it is better to check if the file is available before deleting it.
Example 2: Check if the file exists using Os.Path.Isfile
and remove it using Os.Remove
In example 1, we have just deleted the files present in the directory. os.remove()
The method will search the working directory for the file to be removed. So it's better to check if the file exists.
Let us learn how to check if a file with a specific name is available in that path. We are using os.path.isfile
to check file availability.
#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
Output:
File Deleted successfully
In the above example, we only added the os.pasth.isfile()
method. This method helps us find out whether a file exists in a specific location.
Example 3: Python program to delete all files with a specific extension
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)
Output:
Using this program, We will delete all files with the extension .txt
from the folder.
Explanation:
Import the os module and listdir
from the os module. listdir
must be used to get a list of all files in a specific folder, and the os module is required to delete files.
my_path
is the path to the folder that contains all the files.
We are iterating through the files in a given folder. listdir
Used to get a list of all files in a specific folder.
endswith
is used to check whether the file ends with the .txt
extension. This is done if the condition can be verified when we delete all .txt
files in the folder.
If the file name ends with the .txt
extension, we will use the os.remove()
function to delete the file. This function takes the path to the file as parameter. my_path
file_name
is the full path of the file we want to delete.
Example 4: Python Program to Delete All Files in a Folder
To delete all files in a specific directory, just use *
symbols as pattern strings.
#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))
Output:
Deleted pythonpool\test1.txt Deleted pythonpool\test2.txt Deleted pythonpool\test3.txt Deleted pythonpool\test4.txt
In this example, we will delete all files in the pythonpool
folder.
注意:如果文件夹包含其他子文件夹,则可能会报错,因为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_errors
为true
,则删除失败导致的错误将被忽略。
oneerror
:如果ignore_errors
为false
或被忽略,则通过调用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教程(视频)
The above is the detailed content of Explain several methods of deleting files in Python. For more information, please follow other related articles on the PHP Chinese website!