用python编撰一个电脑清理程序

自制一个电脑清理程序,有啥用呢?在电脑不装有清理软件的时候,可以解决自己电脑内存不足的情况。

1、设想需要删除指定文件夹中的临时文件和缓存文件。以下是代码。

import os

import shutil

def clean_folder(folder_path):

for root, dirs, files in os.walk(folder_path):

for file in files:

if file.endswith('.tmp') or file.endswith('.cache'):

file_path = os.path.join(root, file)

try:

os.remove(file_path)

print(f'已删除文件: {file_path}')

except Exception as e:

print(f'无法删除文件: {file_path}, 错误信息: {e}')

if name == 'main':

folder_path = input('请输入要清理的文件夹路径: ')

clean_folder(folder_path)

自我评价:

这段代码是一个用于清理文件夹中临时文件和缓存文件的Python脚本。它首先导入了os和shutil模块,然后定义了一个名为clean_folder的函数,该函数接受一个文件夹路径作为参数。在函数内部,它使用os.walk遍历文件夹及其子文件夹中的所有文件,检查文件名是否以'.tmp'或'.cache'结尾。如果是,则尝试删除该文件,并在成功删除后打印一条消息。如果删除过程中出现异常,将打印错误信息。最后,如果脚本作为主程序运行,它将提示用户输入要清理的文件夹路径,并调用clean_folder函数进行清理。

但过于简单,于是想着能不能增加内容。

2、增加内容,可以搜索文件夹里最大的文件,并让我选择是否删除!

import os

def find_largest_file(folder_path):

largest_file = None

largest_size = 0

for root, dirs, files in os.walk(folder_path):

for file in files:

file_path = os.path.join(root, file)

file_size = os.path.getsize(file_path)

if file_size > largest_size:

largest_file = file_path

largest_size = file_size

return largest_file, largest_size

if name == 'main':

folder_path = input('请输入要搜索的文件夹路径: ')

largest_file, largest_size = find_largest_file(folder_path)

print(f'找到最大文件: {largest_file}, 大小为: {largest_size} bytes')

delete = input('是否删除该文件?(y/n) ')

if delete.lower() == 'y':

os.remove(largest_file)

print(f'已删除文件: {largest_file}')

自我评价:

这段代码首先定义了一个名为find_largest_file的函数,该函数接受一个文件夹路径作为参数。在函数内部,它使用os.walk遍历文件夹及其子文件夹中的所有文件,并记录最大的文件和其大小。最后,如果脚本作为主程序运行,它将提示用户输入要搜索的文件夹路径,并调用find_largest_file函数查找最大文件。然后,它会询问用户是否要删除该文件,并根据用户的选择执行相应的操作。

除了大文件,应该能找图片,或者音频,视频。

3、增加找图片,或者音频,视频功能,并可以通过点击找到该路径数据

import os

import subprocess

def find_largest_file(folder_path, file_type):

largest_file = None

largest_size = 0

for root, dirs, files in os.walk(folder_path):

for file in files:

if file.endswith(file_type):

file_path = os.path.join(root, file)

file_size = os.path.getsize(file_path)

if file_size > largest_size:

largest_file = file_path

largest_size = file_size

return largest_file, largest_size

if name == 'main':

folder_path = input('请输入要搜索的文件夹路径: ')

file_type = input('请输入要搜索的文件类型(如:.jpg、.mp3、.mp4): ')

largest_file, largest_size = find_largest_file(folder_path, file_type)

print(f'找到最大文件: {largest_file}, 大小为: {largest_size} bytes')

open_folder = input('是否打开该文件所在路径文件夹?(y/n) ')

if open_folder.lower() == 'y':

subprocess.Popen(f'explorer /select,"{os.path.dirname(largest_file)}"')

自我评价:

这段代码增加了一个参数file_type,用于指定要搜索的文件类型。在函数find_largest_file中,通过判断文件名是否以指定的文件类型结尾来筛选出符合条件的文件。在主程序中,用户需要输入要搜索的文件类型,然后调用find_largest_file函数进行搜索。最后,如果用户选择打开该文件所在路径文件夹,那么程序会使用subprocess.Popen命令打开Windows资源管理器并选中该文件所在的文件夹。

至于实现精简或者更多功能,还得进一步开发。

相关推荐
嘉琪0013 小时前
Vue3+JS 高级前端面试题
开发语言·前端·javascript
xunyan62343 小时前
面向对象(下)-接口的理解
java·开发语言
大佐不会说日语~3 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
遥不可及~~斌3 小时前
Java 面试题集 -- 001
java·开发语言
2501_921649493 小时前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融
qq_448011163 小时前
python HTTP请求同时返回为JSON的异常处理
python·http·json
棒棒的皮皮3 小时前
【OpenCV】Python图像处理几何变换之翻转
图像处理·python·opencv·计算机视觉
集智飞行4 小时前
c++函数传参的几种推荐方式
开发语言·c++
CodeCraft Studio4 小时前
国产化PPT处理控件Spire.Presentation教程:使用Python将图片批量转换为PPT
python·opencv·powerpoint·ppt文档开发·ppt组件库·ppt api
鼾声鼾语4 小时前
matlab的ros2发布的消息,局域网内其他设备收不到情况吗?但是matlab可以订阅其他局域网的ros2发布的消息(问题总结)
开发语言·人工智能·深度学习·算法·matlab·isaaclab