实验:磁盘垃圾文件清理器
本实验的新点在于python程序接收命令行参数的方式,我已整理在前面的博文中,虽然没有用到getopt模块,但这真的是一个很重要的模块,请参见:Python 命令行参数sys.argv和getopt
还有就是递归遍历目录树:一般就以下这三步
# os.listdir(path)获取路径下的所有文件名和文件夹名# os.path.join连接输入的路径名和刚得到的文件名和或文件夹名# 判断#os.path.isdir判断如果连接后的路径为一个文件夹名,则递归;否则对得到的文件名进行相应操作
知道了这些,这个实验相当简单:
文章目录
一、实验目的二、实验内容三、实验环境四、实验代码及测试截图代码:测试:一、实验目的
熟练运用标准库os和os.path中的函数,理解sys库中argv成员用法,理解python程序接收命令行参数的方式,理解递归遍历目录树的原理。
二、实验内容
编写程序,实现磁盘垃圾文件清理功能。要求程序运行时,通过命令行参数指定要清理的文件夹,然后删除该文件夹及其子文件夹中所有扩展名为tmp、log、obj、txt 以及大小为0 的文件。
三、实验环境
Python 3.6及以上版本
四、实验代码及测试截图
代码:
from os.path import isdir,join,splitext,getsizefrom os import remove,listdirimport sysgarbage_extension = ['.tmp', '.log', '.obj', '.txt']def garbagefile_clean(path):for parents in listdir(path):child = join(path,parents)if isdir(child):garbagefile_clean(child)elif splitext(child)[1] in garbage_extension or getsize(child)==0:remove(child)print(child, "deleted....")# garbagefile_clean(r"E:\test")for path in sys.argv[1:]:if isdir(path):garbagefile_clean(path)
测试:
测试之前的目录:
在该py文件下右键打开cmd,
测试之后的目录:
如果觉得《python 磁盘垃圾文件清理器》对你有帮助,请点赞、收藏,并留下你的观点哦!