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_CLIENT\MODULE\PYTEST
├─.idea
└─test_dirs
>>> shutil.rmtree('e:\\chengd_ftp_client\\module\\pytest')
>>> print(subprocess.getoutput('tree pytest'))
卷 工作 的文件夹 PATH 列表
卷序列号为 00000002 2C55:35CD
E:\CHENGD_FTP_CLIENT\MODULE\PYTEST
无效的路径 - \CHENGD_FTP_CLIENT\MODULE\PYTEST
没有子文件夹
    2、通过os.walk方法删除:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import os
import subprocess

obj_dir = 'E:\chengd_ftp_client\module\rmtest'

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))

 



转载于:https://www.cnblogs.com/chengd/p/7533473.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值