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

曹旭辉  金牌会员 | 2024-6-10 00:59:05 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 587|帖子 587|积分 1761

自制一个电脑清算程序,有啥用呢?在电脑不装有清算软件的时候,可以解决自己电脑内存不敷的环境。
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资源管理器并选中该文件地点的文件夹。
至于实现精简或者更多功能,还得进一步开发。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表