利用python删除指定文件或文件夹

  • Post author:
  • Post category:python


如果你跑了很多数据,需要删除一些文件或者文件夹,那么你可以使用python来帮忙。

下面提供两个版本的代码,分别对应删除文件或者文件夹的版本。记录一下代码顺便分享一波。

代码中有详细的解释:



删除指定后缀的文件版本

import os
import shutil

# GetFilePath函数是用来递归遍历文件夹里面所有内容,包括文件夹和文件,将它们分开放到两个列表
# 两个列表:fileList 是放文件,dirList 是放文件夹
def GetFilePath(rootPath, fileList, dirList):
	# 获取该目录下所有的文件名称和目录名称
	dir_or_files = os.listdir(rootPath);
	for dir_file in dir_or_files:
		# 获取文件夹或者文件的路径
		dir_file_path = os.path.join(rootPath, dir_file)
		# 判断该路径为文件还是路径
		if os.path.isdir(dir_file_path):
			dirList.append(dir_file_path)
			# 递归获取所有文件和目录的路径
			GetFilePath(dir_file_path, fileList, dirList)
		else:
			fileList.append(dir_file_path);

#DeleteFile函数是用来将遍历好的文件列表中里面某些需要删除的文件进行删除操作
def DeleteFile(fileList):
    # fileList 已经在上面的函数遍历完成 现在里面的内容是所有的文件
    # 挨个遍历 找到符合删除文件的条件
	for fileName in fileList:
        # 如果文件的后缀符合要求删除文件,可以用or连接删除多种文件类型
		#endswith表示以什么文件类型结尾
		if fileName.endswith(".txt") or fileName.endswith(".bin") or fileName.endswith(".ply") or fileName.endswith(".exe"):
            # 在屏幕上打印出来文件的名称 你得知道你删除了什么文件
			print(fileName)
            # 直接将文件进行删除
			os.remove(fileName)
#主函数
if __name__ == "__main__":
	# 根目录路径,直接输入路径或者通过系统函数得到路径
	#输入文件所在路径
	#rootPath = r"E:\BaiduNetdiskDownload";
	#通过系统函数得到当前文件所在路径
	rootPath = os.getcwd()
	# 用来存放所有的文件路径
	fileList = []
	# 用来存放所有的目录路径
	dirList = []
	#得到文件的路径
	GetFilePath(rootPath, fileList, dirList)
	#可以打印文件或者文件夹的路径
	# print(fileList)
	# print(dirList)
	#删除文件
	DeleteFile(fileList)
	#暂停用于看删除了什么文件
	os.system("pause")



效果图



删除前

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



删除后

在这里插入图片描述

在这里插入图片描述



删除文件夹版本

import os
import shutil

# GetFilePath函数是用来递归遍历文件夹里面所有内容,包括文件夹和文件,将它们分开放到两个列表
# 两个列表:fileList 是放文件,dirList 是放文件夹
def GetFilePath(rootPath, fileList, dirList):
	# 获取该目录下所有的文件名称和目录名称
	dir_or_files = os.listdir(rootPath);
	for dir_file in dir_or_files:
		# 获取文件夹或者文件的路径
		dir_file_path = os.path.join(rootPath, dir_file)
		# 判断该路径为文件还是路径
		if os.path.isdir(dir_file_path):
			dirList.append(dir_file_path)
		else:
			fileList.append(dir_file_path);

#DeleteFile函数是用来将遍历好的文件列表中里面某些需要删除的文件进行删除操作
def DeleteFile(fileList,dirList):
    # fileList 已经在上面的函数遍历完成 现在里面的内容是所有的文件
    # 挨个遍历 找到符合删除文件的条件
	for file_name in fileList:
                # 如果文件的后缀符合要求 就进行操作
		if file_name.endswith(".bin") or file_name.endswith(".ply"):
            # 在屏幕上打印出来文件的名称 你得知道你删除了什么文件
			print("正在删除文件...")
			print(file_name)
			# 下面代码是将删除这个后缀的文件拷贝到一个备份的文件夹,其实就是多此一举
            # 一开始是为了确认下删除了那个带后缀的文件会不会对源文件产生一些影响
			# shutil.copy(file_name.split(".baiduyun.p.downloading")[0], r"E:\BackUP")
            # 直接进行删除
			os.remove(file_name)
	for dir_name in dirList:
            # 如果文件的后缀符合要求 就进行操作
            # 在屏幕上打印出来文件的名称 你得知道你删除了什么文件夹
			print("正在删除文件夹...")
			print(dir_name)
            # 直接进行删除
			shutil.rmtree(dir_name)#递归删除文件夹,即:删除非空文件夹
#主函数
if __name__ == "__main__":
	# 根目录路径,直接输入路径或者通过系统函数得到路径
	#输入文件所在路径
	#rootPath = r"E:\BaiduNetdiskDownload";
	#通过系统函数得到当前文件所在路径
	rootPath = os.getcwd()
	# 用来存放所有的文件路径
	fileList = []
	# 用来存放所有的目录路径
	dirList = []
	#得到文件的路径
	GetFilePath(rootPath, fileList, dirList)
	#可以打印文件或者文件夹的路径
	# print(fileList)
	# print(dirList)
	#删除文件
	DeleteFile(fileList,dirList)
	#暂停用于看删除了什么文件
	os.system("pause")



效果图

同样的文件夹



删除后

在这里插入图片描述

文件夹被删除了

在这里插入图片描述



版权声明:本文为weixin_43373833原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。