Python os.removedirs() 和shutil.rmtree() 用于删除文件夹

本文详细介绍了Python中os.removedirs()方法的用法,包括递归删除目录的操作方式,并提供了具体实例代码。此外还对比了shutil模块中与文件操作相关的其他常用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。

语法

removedirs()方法语法格式如下:

os.removedirs(path)

参数

  • path -- 要移除的目录路径

返回值

该方法没有返回值

实例

以下实例演示了 removedirs() 方法的使用:

import os,sys
import shutil
dstPath="test/"

print "目录删除前: %s"  % os.listdir(dstPath) 
#递归的删除目录及文件
#shutil.rmtree('test/aa') 
#以下两个函数用于删除空目录文件
os.rmdir("test/aa")
#os.removedirs("test/aa")
print "目录删除后: %s"  % os.listdir(dstPath) 
    

 shutil 模块 

shutil.copyfile( src, dst)   #从源src复制到dst中去。 如果当前的dst已存在的话就会被覆盖掉
shutil.move( src, dst)  #移动文件或重命名
shutil.copymode( src, dst) #只是会复制其权限其他的东西是不会被复制的
shutil.copystat( src, dst) #复制权限、最后访问时间、最后修改时间
shutil.copy( src, dst)  #复制一个文件到一个文件或一个目录
shutil.copy2( src, dst)  #在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
shutil.copy2( src, dst)  #如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作
shutil.copytree( olddir, newdir, True/Flase) #把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.rmtree( src )   #递归删除一个目录以及目录内的所有内容

  

转载于:https://www.cnblogs.com/yuanqiangfei/p/8111106.html

好的,以下是 osos.path shutil 模块中的一些常用函数它们的使用示例: 1. `os.listdir()`: 列出指定目录下的文件文件夹。 ```python import os path = '/Users/username/Documents' files = os.listdir(path) print(files) ``` 2. `os.mkdir()`: 创建新目录。 ```python import os path = '/Users/username/Documents/NewFolder' os.mkdir(path) ``` 3. `os.remove()`: 删除文件。 ```python import os path = '/Users/username/Documents/test.txt' os.remove(path) ``` 4. `os.rename()`: 重命名文件或目录。 ```python import os old_path = '/Users/username/Documents/test.txt' new_path = '/Users/username/Documents/new_test.txt' os.rename(old_path, new_path) ``` 5. `os.path.abspath()`: 返回指定路径的绝对路径。 ```python import os path = 'test.txt' abs_path = os.path.abspath(path) print(abs_path) ``` 6. `os.path.join()`: 连接两个或更多的路径名组件。 ```python import os path1 = '/Users/username/Documents' path2 = 'test.txt' full_path = os.path.join(path1, path2) print(full_path) ``` 7. `os.path.exists()`: 判断指定路径是否存在。 ```python import os path = '/Users/username/Documents/test.txt' if os.path.exists(path): print('文件存在') else: print('文件不存在') ``` 8. `os.path.isdir()`: 判断指定路径是否为目录。 ```python import os path = '/Users/username/Documents' if os.path.isdir(path): print('是目录') else: print('不是目录') ``` 9. `shutil.copy()`: 复制文件。 ```python import shutil src_path = '/Users/username/Documents/test.txt' dst_path = '/Users/username/Desktop/test.txt' shutil.copy(src_path, dst_path) ``` 10. `shutil.move()`: 移动文件或目录。 ```python import shutil src_path = '/Users/username/Documents/test.txt' dst_path = '/Users/username/Desktop/test.txt' shutil.move(src_path, dst_path) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值