失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 磁盘垃圾文件清理器

磁盘垃圾文件清理器

时间:2020-12-20 12:57:21

相关推荐

磁盘垃圾文件清理器

一、实验目的

熟练运用标准库os和os.path中的函数,理解sys库中argv成员用法,理解python程序接收命令行参数的方式,理解递归遍历目录树的原理。

编写程序,实现磁盘垃圾文件清理功能。要求程序运行时,通过命令行参数指定要清理的文件夹,然后删除该文件夹及其子文件夹中所有扩展名为tmp、log、obj、txt 以及大小为0 的文件。

二、实验环境

Python3.8

三、实验基本原理及步骤

1. 查看帮助手册,了解os.path模块中的isdir,join,splitext,getsize方法,以及os库中的remove,listdir方法。

连接两个路径

如果路径名引用现有目录,则返回true

从文件名中分割出扩展名

返回文件的大小

删除一个文件

返回包含目录中文件名称的列表

**sys.argv()**函数

获取运行python文件的时候命令行参数

更详细易懂的描述在:

/csdn15698845876/article/details/74909089

2. 编写一个函数,该函数带有一个参数为指定的文件夹。函数删除该文件夹及其子文件夹中所有指定的文件类型。

3. 程序示例输出如下:

运行程序之前:

运行程序之后:

四、实验数据记录(或仿真及软件设计)

程序及运行结果:

# -*- coding: utf-8 -*-"""Created on Sun May 31 17:00:08 @author: natur"""#检查路径是否为文件,不是就检查文档下的文件是否为文档,重复循环#编写一个函数,该函数带有一个参数为指定的文件夹。函数删除该文件夹及其子文件夹中所有#指定的文件类型。from os.path import isdir,join,splitext,getsizefrom os import remove,listdirimport sysdef Delete(path):if isdir(path)== True:for item in listdir(path):item = join(path,item)if isdir(item) == False:if splitext(item)[1] in extension or getsize(item) == 0:remove(item)print(item,"deleted")else:Delete(item)extension = ['.tmp', '.log', '.obj', '.txt']path = sys.argv[1]Delete(path)

思路:

利用os.path.isdir()函数路径是否为文档,再利用os.listdir()得到路径下的文件列表,是就循环检查文档下的文件列表中是否又有文档,如果是则迭代创建的函数;如果不是,则为文件,利用os.path.splitext()函数分割出扩展名,判断它的扩展名是否在我们的需求内,或者利用os.path.getsize()函数得到文件大小,判断是否为0,如果两个条件满足一个,则利用os.remove()删除该文件,并将其路径利用os.path.join()函数将文件路径以及文件结合进行输出。文件路径的得知主要依靠sys.argv()[1]函数,通过命令行得到

如果觉得《磁盘垃圾文件清理器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。