在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模块。读者可根据需要进行选择,选择最适合自己需求的目录删除方式。