Python 删除文件夹或文件

  • 使用模块及方法介绍
  • python 内置模块 os
  • 导入模块
  • 判断文件或文件夹是否存在方法
  • 判断路径是否为文件
  • 判断路径是否为文件夹
  • 删除文件
  • 删除空文件夹
  • 获取文件夹内文件名
  • 获取当前执行文件所属目录
  • 把目录和文件名合成一个路径
  • python 内置模块 shutil
  • 导入模块
  • 删除整个目录
  • 功能实现思路
  • 实现代码


使用模块及方法介绍

python 内置模块 os

python 内置模块 os,用来操作电脑系统。

导入模块

import os

判断文件或文件夹是否存在方法

如果路径 path 存在,返回 True;如果路径 path 不存在或损坏,返回 False。

os.path.exists(path)

判断路径是否为文件

os.path.isfile(path)

判断路径是否为文件夹

os.path.isdir(path)

删除文件

os.remove(path)

删除空文件夹

os.rmdir(path)

获取文件夹内文件名

os.listdir(path)

获取当前执行文件所属目录

os.path.dirname(os.path.abspath(__file__))

把目录和文件名合成一个路径

os.path.join(path1, path2)

python 内置模块 shutil

导入模块

import shutil

删除整个目录

路径是一个目录,是文件会报错

shutil.rmtree(path)

功能实现思路

  1. 定义方法,传入文件或文件夹地址
  2. 判断是否存在,不存在则退出
  3. 判断是否为文件,是文件删除
  4. 判断是否为文件夹,是则获取文件夹内文件,递归调用判断

实现代码

def delete_file(path):

    if not os.path.exists(path):
        print("文件不存在,未删除: {}".format(path))
        return
    if os.path.isfile(path):
        try:
            os.remove(path)
            print("删除成功:{}".format(path))
        except OSError as e:
            print(e)
    elif os.path.isdir(path):
        file_neme_list = os.listdir(path)
        for file_name in file_neme_list:
            file_path = os.path.join(path, file_name)
            delete_file(file_path)