0

0

如何用Python编写一个C盘垃圾清理工具

WBOY

WBOY

发布时间:2023-04-24 13:13:07

|

1935人浏览过

|

来源于亿速云

转载

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

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

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

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

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

# Importing the os module.
import os

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

立即学习Python免费学习笔记(深入)”;

小羊标书
小羊标书

一键生成百页标书,让投标更简单高效

下载
# 待清理的文件后缀名称
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 directory
class 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("输入任意键关闭窗口...")

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

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

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

相关文章

C盘一键清理工具
C盘一键清理工具

C盘一键清理工具是专注于释放C盘空间的实用工具,拥有一键清理功能,能够帮助用户快速删除无用的文件和缓存。软件操作简单,无需复杂的设置,自动识别并清理无用的垃圾文件,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

104

2023.09.25

全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

89

2025.09.18

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

106

2025.09.18

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1411

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1161

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

833

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

461

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2361

2023.08.08

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

1

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.8万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号