前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 技术篇-用os库实现删除本地文件、非空文件夹方法,python判断本地文件、文件夹是否存在方法

Python 技术篇-用os库实现删除本地文件、非空文件夹方法,python判断本地文件、文件夹是否存在方法

作者头像
小蓝枣
发布2022-05-07 17:23:27
6210
发布2022-05-07 17:23:27
举报

os.remove() 就是删除文件的 os.removedirs() 就是删除文件夹的 os.path.exists() 用来判断文件或文件夹是否存在

代码语言:javascript
复制
import os

path = "D:\\hello.py"
if(os.path.exists(path)):   # 判断文件是否存在
    os.remove(path)   # 删除文件
    
path = "D:\\hello"
if(os.path.exists(path)):   # 判断文件夹是否存在  
    os.removedirs(path)   # 删除文件夹

默认非空文件夹是不允许删除的,下面的方法可实现非空文件夹的删除。 需要引用到 pathlib 库。 首先 path.glob("**/*") 方法可以显示路径下所有的文件和文件夹。 其中 os.path.isfile()os.path.isdir() 方法可以判断路径是文件还是文件夹。 然后先删除所有的文件,再把剩下的目录添加到列表中进行降序排序,这样外层目录就会排在前面,这种排序删除后就相当于从内到外进行空目录删除了,来达到删除所有目录的效果。

代码语言:javascript
复制
import pathlib
import os
def delete_local_dir(delete_path):
    '''
     作用: 删除本地目录
     参数:需要删除的目录
     返回:无
    '''
    path = pathlib.Path(delete_path)
    for i in path.glob("**/*"):
        # 删除文件
        if(os.path.exists(i)):
            if(os.path.isfile(i)):
                os.remove(i)
    
    # 将目录内容存为数组,方便排序
    a = []
    for i in path.glob("**/*"):
        a.append(str(i))
    
    # 降序排序后从内层开始删除
    a.sort(reverse = True)
    for i in a:
        # 删除目录
        if(os.path.exists(i)):
            if(os.path.isdir(i)):
                os.removedirs(i)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档