用Python实现清理电脑上的空文件夹~
2023-03-14 22:41:32 时间
文件夹和文件是不一样的,文件夹是含有独立路径的目录,是没有后缀名的。而在python的内置模块os
中,删除文件夹和文件的方法也是不同的,所以在写代码之前,先给大家简单的介绍一下os判断目标是否为文件夹和删除空文件的两个方法。
os.path.isdir()
os.path.isdir()
方法用于判断目标对象是否为一个目录,传入的参数是目标对象的绝对路径
。当目标对象不是目录时返回的是False
,是目录时返回的是True
:
os.path.isdir()示例
之所以要用os.path.isdir()来判断目标是否为目录,是因为有些文件夹里面包含了文件夹,一层一层的,而os.path.isdir()的作用就是一次一次判断是否为目录,是的话就继续访问,从而得到最底层的文件夹或文件。
os.rmdir()
os.rmdir()
方法用于删除指定路径的目录,也就是文件夹为空的时候才可以删除, 否则, 会抛出异常。os.rmdir()
只要区别于os.remove()
,os.remove() 是要于删除文件的。
os.rmdir()传入的参数是目标对象的绝对路径
:
os.rmdir()示例
实践操作
下面是完整代码,结合上面内容和注释,下面的代码基本没什么难度了:
import os
def main(contents):
# isdir用于判断路径是否为目录,是目录的话需要进一步的循环读取
if os.path.isdir(contents):
for i in os.listdir(contents):
# 含多层级文件目录,所以需要不停的更新
main(os.path.join(contents, i))
# 如果rmdir得到的路径是非空文件夹,会抛出异常
try:
if not os.listdir(contents):
# 删除
os.rmdir(contents)
print('已删除空文件夹: ' , contents)
except Exception as e:
print(e)
# 传入路径
main(r'D:数据小刀办公自动化删除空文件夹1')
相关文章
- 使用 Python 配合 Redis 超越缓存
- 面试官:你来讲讲一条查询语句的具体执行过程
- 我用Python处理3万多条数据,只要几秒钟……
- 代码详解:使用Python从不同表格中提取数据
- 自定义构建交互式SSH应用程序,以Python为例
- 深入理解select count(*)底层究竟做了什么
- 使用Redis和Python构建一个共享单车的应用程序
- Python实现数据可视化,看如何监控你的爬虫?
- 什么是大数据?如何成为大数据的技术大牛?
- 零基础Python数据库怎么学?大牛带你扬帆起航
- Python操作MongoDB看这一篇就够了
- 用Python操作MySQL存储,这些你都会了吗?
- Python面试官问Redis的相关问题,看完这篇文章就够了
- 常见的Python爬虫面试题,叫面试官唱征服
- 一步一步教你如何用Python操作MySQL
- 精通Python网络爬虫:核心技术、框架与项目实战.3.4 网页分析算法
- GC悲观策略之Parallel GC篇
- Aviator(表达式执行引擎)发布1.0.1
- 《Flink官方文档》Python 编程指南测试版(一)
- 《Flink官方文档》Python 编程指南测试版(二)