python 磁盘垃圾文件清理器

实验:磁盘垃圾文件清理器
  本实验的新点在于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,getsize
from os import remove,listdir
import sys

garbage_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,
在这里插入图片描述

测试之后的目录:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值