python清理电脑垃圾方法

垃圾清理通常包括删除临时文件、缓存文件、日志文件等。以下是一个使用Python编写的简单垃圾清理脚本。此脚本将删除Windows系统中的一些常见临时文件和缓存文件。

注意:在执行此脚本之前,请确保备份所有重要数据。执行此脚本有可能会导致数据丢失。

import os
import shutil
import tempfile

def delete_temp_files(folder_path):
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            try:
                os.remove(file_path)
                print(f"已删除文件:{file_path}")
            except Exception as e:
                print(f"无法删除文件:{file_path}\n原因:{str(e)}")

def clean_temp_folder():
    temp_folder = tempfile.gettempdir()
    print(f"清理临时文件夹:{temp_folder}")
    delete_temp_files(temp_folder)

def clean_cache_folder():
    cache_folder = os.path.join(os.getenv("LOCALAPPDATA"), "Temp")
    print(f"清理缓存文件夹:{cache_folder}")
    delete_temp_files(cache_folder)

def clean_prefetch_folder():
    prefetch_folder = os.path.join(os.getenv("SystemRoot"), "Prefetch")
    print(f"清理预取文件夹:{prefetch_folder}")
    delete_temp_files(prefetch_folder)

def clean_system_logs():
    log_folder = os.path.join(os.getenv("SystemRoot"), "Logs")
    print(f"清理系统日志文件夹:{log_folder}")
    delete_temp_files(log_folder)

def main():
    clean_temp_folder()
    clean_cache_folder()
    clean_prefetch_folder()
    clean_system_logs()
    print("垃圾清理完成!")

if __name__ == "__main__":
    main()

使用步骤:

打开一个文本编辑器,将上面的代码粘贴到编辑器中,然后将文件保存为clean_system.py。
点击开始菜单,搜索“命令提示符”,右键选择“以管理员身份运行”。
在命令提示符中,转到保存clean_system.py文件的目录,例如:cd C:\Users\YourUsername\Desktop。
在命令提示符中输入python clean_system.py,然后按回车键执行脚本。
说明:

该脚本会删除临时文件夹、缓存文件夹、预取文件夹和系统日志文件夹中的所有文件。
当文件被成功删除时,脚本会打印文件路径,否则会显示错误原因。
请确保您以管理员身份运行命令提示符,以便脚本可以访问所有文件夹并执行清理操作。

如果你希望将脚本扩展到其他文件夹和类型的清理,你可以添加更多的功能。以下是一些可能有用的示例:

清理浏览器缓存:

def clean_browser_cache():
    browser_cache_folders = {
        "Chrome": os.path.join(os.getenv("LOCALAPPDATA"), "Google\\Chrome\\User Data\\Default\\Cache"),
        "Firefox": os.path.join(os.getenv("APPDATA"), "Mozilla\\Firefox\\Profiles"),
        "Edge": os.path.join(os.getenv("LOCALAPPDATA"), "Microsoft\\Edge\\User Data\\Default\\Cache")
    }

    for browser, folder in browser_cache_folders.items():
        print(f"清理 {browser} 浏览器缓存:{folder}")
        delete_temp_files(folder)

在main()函数中添加clean_browser_cache()函数调用。

清理回收站:

import ctypes
from ctypes import wintypes

def empty_recycle_bin():
    SHEmptyRecycleBin = ctypes.windll.shell32.SHEmptyRecycleBinW
    SHEmptyRecycleBin.argtypes = [wintypes.HWND, wintypes.LPCWSTR, wintypes.DWORD]
    SHEmptyRecycleBin.restype = wintypes.HRESULT

    result = SHEmptyRecycleBin(None, None, 0x00000001)
    if result == 0:
        print("成功清空回收站")
    else:
        print("清空回收站失败,错误代码:", result)


在main()函数中添加empty_recycle_bin()函数调用。

更新后的main()函数:

def main():
    clean_temp_folder()
    clean_cache_folder()
    clean_prefetch_folder()
    clean_system_logs()
    clean_browser_cache()
    empty_recycle_bin()
    print("垃圾清理完成!")

现在,该脚本将删除临时文件夹、缓存文件夹、预取文件夹、系统日志文件夹、浏览器缓存文件夹中的所有文件,并清空回收站。请确保以管理员身份运行命令提示符,以便脚本可以访问所有文件夹并执行清理操作。
如果您希望增强此清理脚本,可以添加以下功能:

清理旧的系统还原点:

import subprocess

def clean_system_restore_points():
    try:
        print("清理旧的系统还原点...")
        subprocess.run("vssadmin delete shadows /for=C: /all /quiet", shell=True, check=True)
        print("成功清理旧的系统还原点")
    except subprocess.CalledProcessError as e:
        print("清理旧的系统还原点失败,错误代码:", e.returncode)

在main()函数中添加clean_system_restore_points()函数调用。

清理用户文件夹中的下载文件夹:

def clean_downloads_folder():
    downloads_folder = os.path.join(os.getenv("USERPROFILE"), "Downloads")
    print(f"清理下载文件夹:{downloads_folder}")
    delete_temp_files(downloads_folder)

在main()函数中添加clean_downloads_folder()函数调用。

更新后的main()函数:

def main():
    clean_temp_folder()
    clean_cache_folder()
    clean_prefetch_folder()
    clean_system_logs()
    clean_browser_cache()
    empty_recycle_bin()
    clean_system_restore_points()
    clean_downloads_folder()
    print("垃圾清理完成!")

此版本的脚本将执行以下操作:

删除临时文件夹、缓存文件夹、预取文件夹、系统日志文件夹、浏览器缓存文件夹中的所有文件。
清空回收站。
清理旧的系统还原点。
清理用户文件夹中的下载文件夹。
请确保以管理员身份运行命令提示符,以便脚本可以访问所有文件夹并执行清理操作。

注意:此脚本具有很强的清理功能,可能会导致数据丢失。在运行脚本之前,请确保备份所有重要数据。

以下是整合了所有功能的完整垃圾清理脚本。请确保在运行此脚本之前备份所有重要数据,因为运行此脚本可能会导致数据丢失。

import os
import shutil
import tempfile
import ctypes
from ctypes import wintypes
import subprocess

def delete_temp_files(folder_path):
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            try:
                os.remove(file_path)
                print(f"已删除文件:{file_path}")
            except Exception as e:
                print(f"无法删除文件:{file_path}\n原因:{str(e)}")

def clean_temp_folder():
    temp_folder = tempfile.gettempdir()
    print(f"清理临时文件夹:{temp_folder}")
    delete_temp_files(temp_folder)

def clean_cache_folder():
    cache_folder = os.path.join(os.getenv("LOCALAPPDATA"), "Temp")
    print(f"清理缓存文件夹:{cache_folder}")
    delete_temp_files(cache_folder)

def clean_prefetch_folder():
    prefetch_folder = os.path.join(os.getenv("SystemRoot"), "Prefetch")
    print(f"清理预取文件夹:{prefetch_folder}")
    delete_temp_files(prefetch_folder)

def clean_system_logs():
    log_folder = os.path.join(os.getenv("SystemRoot"), "Logs")
    print(f"清理系统日志文件夹:{log_folder}")
    delete_temp_files(log_folder)

def clean_browser_cache():
    browser_cache_folders = {
        "Chrome": os.path.join(os.getenv("LOCALAPPDATA"), "Google\\Chrome\\User Data\\Default\\Cache"),
        "Firefox": os.path.join(os.getenv("APPDATA"), "Mozilla\\Firefox\\Profiles"),
        "Edge": os.path.join(os.getenv("LOCALAPPDATA"), "Microsoft\\Edge\\User Data\\Default\\Cache")
    }

    for browser, folder in browser_cache_folders.items():
        print(f"清理 {browser} 浏览器缓存:{folder}")
        delete_temp_files(folder)

def empty_recycle_bin():
    SHEmptyRecycleBin = ctypes.windll.shell32.SHEmptyRecycleBinW
    SHEmptyRecycleBin.argtypes = [wintypes.HWND, wintypes.LPCWSTR, wintypes.DWORD]
    SHEmptyRecycleBin.restype = wintypes.HRESULT

    result = SHEmptyRecycleBin(None, None, 0x00000001)
    if result == 0:
        print("成功清空回收站")
    else:
        print("清空回收站失败,错误代码:", result)

def clean_system_restore_points():
    try:
        print("清理旧的系统还原点...")
        subprocess.run("vssadmin delete shadows /for=C: /all /quiet", shell=True, check=True)
        print("成功清理旧的系统还原点")
    except subprocess.CalledProcessError as e:
        print("清理旧的系统还原点失败,错误代码:", e.returncode)

def clean_downloads_folder():
    downloads_folder = os.path.join(os.getenv("USERPROFILE"), "Downloads")
    print(f"清理下载文件夹:{downloads_folder}")
    delete_temp_files(downloads_folder)

def main():
    clean_temp_folder()
    clean_cache_folder()
    clean_prefetch_folder()
    clean_system_logs()
    clean_browser_cache()
    empty_recycle_bin()
    clean_system_restore_points()
    clean_downloads_folder()
    print("垃圾清理完成!")

if __name__ == "__main__":
    main()


这个脚本包含以下功能:

清理临时文件夹、缓存文件夹、预取文件夹和系统日志文件夹中的文件。
清理Chrome、Firefox和Edge浏览器的缓存。
清空回收站。
清理旧的系统还原点。
清理用户下载文件夹。
运行此脚本前,请确保备份所有重要数据,因为运行此脚本可能会导致数据丢失。请以管理员身份运行命令提示符,以便脚本可以访问所有文件夹并执行清理操作。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏呆仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值