文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何用Python制作一个C盘清理器

2023-07-05 16:31

关注

今天小编给大家分享一下如何用Python制作一个C盘清理器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

关于python的文件清理操作,实际上我们使用标准模块os即可满足所有的文件操作。

一般在C盘的清理过程中,我们能够清理的文件类型主要如下:

''''.tmp': '临时文件',    '._mp': '临时文件_mp',    '.log': '日志文件',    '.gid': '临时帮助文件',    '.chk': '磁盘检查文件',    '.old': '临时备份文件',    '.xlk': 'Excel备份文件',    '.bak': '临时备份文件bak''''

既然已经知道了需要清理的文件类型,那实现思路就是将这些文件找出来后删除掉即可。

将我们接下来代码块中使用到的os标准模块直接导入到代码块中。

# Importing the os module.import os

现在可以将一些全局变量首先定义好,比如全局的系统操作路径、待清理的文件后缀名等等。

# 待清理的文件后缀名称suffix_dict = {    '.tmp': '临时文件',    '._mp': '临时文件_mp',    '.log': '日志文件',    '.gid': '临时帮助文件',    '.chk': '磁盘检查文件',    '.old': '临时备份文件',    '.xlk': 'Excel备份文件',    '.bak': '临时备份文件bak'}# 用户缓存数据类型名称user_profile_list = [    'cookies', 'recent', 'Temporary Internet Files', 'Temp']# windows系统路径文件类型windir_list = [    'prefetch', 'temp']# 系统驱动路径sys_drive = os.environ['systemdrive'] + '\\'# 用户缓存路径user_profile = os.environ['userprofile']# windows系统路径win_dir = os.environ['windir']

以上相关的C盘清理的全局变量已经设置完成了,接下来我们创建一个ClaenFilesUtil的类来完成对文件清理的业务操作过程。

# This class is used to clean up files in a directoryclass CleanFilesUtil():    def __init__(self):        """        A constructor. It is called when an object is created from a class and it allows the class to initialize the        attributes of a class.        """        self.del_info = {}        self.del_file_paths = []        self.total_size = 0        for suffix_name, comment in suffix_dict.items():            self.del_info[suffix_name] = dict(name=comment, count=0)    def scanf_files(self):        """        It takes a list of files, and returns a list of lists of the lines in each file        """        for roots, dirs, files in os.walk(user_profile):            for files_item in files:                file_extension = os.path.splitext(files_item)[1]                if file_extension in self.del_info:                    file_full_path = os.path.join(roots, files_item)                    self.del_file_paths.append(file_full_path)                    self.del_info[file_extension]['count'] += 1                    self.total_size += os.path.getsize(file_full_path)    def show_count_message(self):        """        It prints the number of messages in the inbox.        """        byte = self.format_size(self.total_size)        for i in self.del_info:            print(self.del_info[i]["name"], "共计", self.del_info[i]["count"], "个")        return byte    def format_size(self, byte):        """        It takes a number of bytes and returns a string with the number of bytes, kilobytes, megabytes, or gigabytes,        depending on the size        :param byte: The size in bytes        """        try:            kb = byte // 1024        except:            print("传入字节格式不对")            return "Error"        if kb > 1024:            M = kb // 1024            if M > 1024:                G = M // 1024                return "%dG" % G            else:                return "%dM" % M        else:            return "%dkb" % kb    def remove_file_or_dir(self):        """        > This function removes a file or directory        """        for full_path_one in self.del_file_paths:            try:                if os.path.isfile(full_path_one):                    os.remove(full_path_one)                    print("文件:", full_path_one, "已移除")                elif os.path.isdir(full_path_one):                    os.rmdir(full_path_one)                    print("文件夹", full_path_one, "已移除")            except WindowsError:                print("错误:", full_path_one, "不能被移除")if __name__ == "__main__":    print("开始初始化C盘清理程序")    clean_ = CleanFilesUtil()    print('C盘清理程序初始化完成')    print("开始扫描所有待清理文件路径")    clean_.scanf_files()    print("完成所有待清理文件路径扫描")    print("扫描完成以下是需要待清理的文件路径:")    clean_.show_count_message()    print("开始执行C盘垃圾文件删除")    clean_.remove_file_or_dir()    print("所有C盘垃圾文件已清理完成")    input("输入任意键关闭窗口...")

以上就是所有C盘垃圾清理的主要程序业务代码了,但是为了将该清理工具设置成定时任务去执行。

于是,我想到了前几天发布的文章[python不要再使用while死循环,使用定时器代替效果更佳!],可以通过定时器的方式来满足业务要求。

除了使用代码块来完成定时还可以通过配置windows或其他操作系统的定时任务来完成定时执行的需求。

如何用Python制作一个C盘清理器

以上就是“如何用Python制作一个C盘清理器”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯