• python删除文件与目录的方法


    python内置方法删除目录(空目录与非空目录)及文件

    1、os.remove(file_path):删除文件

    #PPTV是文件夹,xen.txt是文件
    >>> os.remove('PPTV')
    Traceback (most recent call last):
      File "<pyshell#9>", line 1, in <module>
        os.remove('PPTV')
    PermissionError: [WinError 5] 拒绝访问。: 'PPTV'
    >>> os.remove('xen.txt')
    >>> os.unlink('xen.txt')

        注:

        file_path如果是目录则抛出异常

        remove() 同 unlink() 的功能是一样的

    2、os.removedirs(path):递归删除目录

        目录必须为空目录,若目录被删除,removedirs则会继续删除父目录;子目录未删除成功则报错

        例子:

            os.removedirs(“foo/bar/ba”) 将首先删除 “foo/bar/ba”目录,如果foo/bar是空,则会继续删除foo/bar,foo若为空则会继续删除foo

            如果子目录不能成功删除,将 抛出异常

    3、os.rmdir(path):删除目录

        删除目录 path,要求path必须是个空目录,否则抛出OSError错误

    4、递归删除目录和文件

        1、通过shutil.rmtree(path)删除:

    >>> print(subprocess.getoutput('tree pytest'))
    卷 工作 的文件夹 PATH 列表
    卷序列号为 00000002 2C55:35CD
    E:CHENGD_FTP_CLIENTMODULEPYTEST
    ├─.idea
    └─test_dirs
    >>> shutil.rmtree('e:\chengd_ftp_client\module\pytest')
    >>> print(subprocess.getoutput('tree pytest'))
    卷 工作 的文件夹 PATH 列表
    卷序列号为 00000002 2C55:35CD
    E:CHENGD_FTP_CLIENTMODULEPYTEST
    无效的路径 - CHENGD_FTP_CLIENTMODULEPYTEST
    没有子文件夹

        2、通过os.walk方法删除:

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import os
    import subprocess
    
    obj_dir = 'E:chengd_ftp_clientmodule
    mtest'
    
    for root, dirs, files in os.walk(obj_dir, topdown=False):
        for name in files:
            print(name)
            os.remove(os.path.join(root, name))
        for name in dirs:
            print(name)
            os.rmdir(os.path.join(root, name))



  • 相关阅读:
    URL 编码通用引用
    [转]Asp.Net 301重定向的实现(SEO友好,有利于PR值)
    js重载图片
    Asp.net MVC学习
    SEO分析的七个切入角度
    [C#] 注入DLL
    [C] 伽马函数计算(可求小数)
    [C++] DLL远程注入实例
    [JS] 玩转微软Bing地图
    [C#(WebForm)] (开源)仿VS.NET的在线网页编辑器(Lesktop开源控件库)
  • 原文地址:https://www.cnblogs.com/chengd/p/7533473.html
Copyright © 2020-2023  润新知