您的位置:

Python 3删除文件的实现方法

在python的开发过程中,我们经常需要创建、删除和修改文件。其中,删除文件这一功能在有些情况下显得尤为重要。Python 3中提供了删除文件的实现方法, 本文将围绕

Python 3删除文件的实现方法

这一主题,从多个方面进行详细阐述。

一、os模块实现删除文件

os模块(即操作系统模块)是python基础库中提供的对操作系统进行访问接口的模块。os模块提供了很多操作文件的方法,其中之一就是删除文件的方法。

import os
try:
    os.remove('file_path')
except Exception as e:
    print(str(e))

使用os.remove()可以删除指定路径下的文件。上述代码中的'file_path'需要被用户指定为要删除的文件的路径。此外,为了防止意外删除,我们在删除操作外部使用try...except语句来捕捉异常。

二、shutil模块实现删除文件

shutil(即shell utility)模块是python的高级文件操作模块,可以实现文件的复制、移动、删除、重命名等操作。如果你需要后续处理多个文件,那么使用shutil模块删除文件可能是更好的选择。

import shutil
try:
    shutil.rmtree('dir_path')
except Exception as e:
    print(str(e))

执行shutil.rmtree()方法,即可递归删除指定目录下的所有文件和文件夹.需要被删除的文件或文件夹路径需要被用户指定

三、使用pathlib模块实现删除文件

pathlib模块是python新引入的模块,可用于文件系统路径和文件查找、操作。

import pathlib
my_file_path = pathlib.Path("file_path")
if my_file_path.is_file():
    try:
        my_file_path.unlink()
    except Exception as e:
        print(str(e))
elif my_file_path.is_dir():
    try:
        shutil.rmtree(str(my_file_path))
    except Exception as e:
        print(str(e))
else:
    print("Path does not exist.")

上述代码中,先创建一个Path变量“my_file_path”,并将要删除的文件路径传递给它。按照前面的两种方式,使用is_file()方法判断my_file_path是否是文件,如果是,使用unlink()方法删除;如果my_file_path是一个目录,则使用shutil.rmtree()方法。

四、删除指定扩展名的文件

当我们需要一次性删除指定扩展名的多个文件时,可以使用glob模块实现。

import glob, os
files = glob.glob('/path/*.txt')   # 匹配目录下所有txt文件
for f in files:
    os.remove(f)

以上示例代码中,glob.glob()方法用来获取指定目录下所有扩展名为.txt的文件。之后,使用os.remove()方法依次删除所匹配的文件。当然了,如果要删除其他类型的文件(例如.png、.jpg等),只需在.glob()中进行修改即可。

总结

删除文件是一个很常用的操作,本文介绍了Python 3中三种实现删除文件的方法:os模块、shutil模块和pathlib模块。同时,我们还介绍了一种可以删除特定类型文件的方法——使用glob模块。读者可根据需要进行选择,选择最适合自己需求的目录删除方式。