使用Python自制一个回收站清理器

经常笔记本电脑的回收站存储了很多的文件,需要打开回收站全部选中进行清理。

但是要是做成python自动化,再将其配置成定时任务就不需要再去手动操作了。或者就是直接双击运行即可完成所有回收站的文件清理。

由于实现过程需要调用windows的终端命令,所以需要安装winshell。然而有的小伙伴没有安装pypiwin32就会报错没有win32con模块,因此,新的python环境安装这两个非标准库就OK了。

pip install winshell

pip install pypiwin32

其实真正可以使用到的代码块只有一行,就是直接调用终端完成回收站的清理操作。try…catch只是为了捕获异常,防止直接抛出。

# It's importing the winshell module.
import winshell

try:
    print('正在清理回收站所有文件......')

    # It's emptying the recycle bin.
    winshell.recycle_bin().empty(confirm=False, show_progress=False, sound=True)

    print('回收站已经清理完成!')
except:
    print('回收站已经被清空,不需要操作!')

input("请按任意键关闭窗口...")

上述的代码块已经能够完成功能了,然后直接使用pyinstaller打包成exe,项目内容较小这里直接采用单文件方式进行打包。

pyinstaller -F -i .\recycle.ico .\recycle.py

程序打包完成后生成recycle.exe,可以修改成任意名称.exe,双击执行即可完成回收站清理。

recycle.exe

知识补充

除了上文,小编还给大家整理了用Python实现的其他实用小工具,希望对大家有所帮助

批量图片格式转换器

经常在不同的工作场景中需要使用不同的图片格式来完成相应的操作,因此开发了这款批量转换图片格式的操作工具。

下文介绍的图片转换过程主要包含了四种图片格式的相互转换,分别是jpeg/jpg/png/bmp,通过获取Image图片对象从而保存为任意的图片格式。

今天使用到的图片处理库就是PIL,不仅包含了强大的图像处理能力,还可用于图像归档/批量处理等方面。

pip install pillow

然后,直接将PIL模块的Image模块导入到我们的代码块中,注意这里安装的名称是pillow,但是导入的模块名称却是PIL。

# Importing the Image module from the PIL package.
from PIL import Image

# `g` is a generator function that returns a generator object.
from loguru import logger

# Importing the os module.
import os

定义一下该应用能够支持的图片格式,如有其他图片格式转换需要可以在此处进行扩展。

# A list of image formats that the program will support.
images = ['jpeg', 'jpg', 'bmp', 'png']

这里首先开发一个单个图片格式转换的函数transImage,最后在批量处理中调用该函数即可完成批量操作。

def transImage(source_image=None, target_type=None, target_path=None):
    """
    This function takes an image and converts it to a different file type

    :param source_image: The image you want to convert
    :param target_type: The type of image you want to convert to
    """
    if source_image is None or target_type is None:
        logger.error('源图片路径或目标格式不能为空!')
        return
    try:
        img = Image.open(source_image)
        base_name = os.path.basename(source_image)
        target_image_path = os.path.join(target_path, base_name.split('.')[0] + '.' + target_type)
        img.save(target_image_path)
        logger.info('当前源图片:{}格式转换完成!'.format(source_image))
    except:
        logger.error('当前源图片:{}格式转换发生异常!'.format(source_image))

然后,开发一个批量图片处理处理的函数main_batch,用于直接读取某个文件夹下面的所有图片执行格式转换。

def main_batch(source_path=None, target_type=None):
    """
    This function takes an image and converts it to a different file type

    :param source_image: The image you want to convert
    :param target_type: The type of image you want to convert to
    :return: the image that was converted to a different file type.
    """
    if source_path is None or target_type is None:
        logger.info('源图片批量文件夹路径或目标格式不能为空!')
        return
    try:
        for file_name in os.listdir(source_path):
            source_file_type = file_name.split('.')[1]
            if source_file_type in images and target_type in images:
                transImage(os.path.join(source_path, file_name), target_type, source_path)
            else:
                logger.error('图片格式不符合要求,请自行扩展!')
    except:
        logger.error('批量图片格式转换失败,请检查参数是否设置正确!')

# Calling the main_batch function with the source_path and target_type arguments.
main_batch(source_path='D:/test-data-work', target_type='png')

python+win32com轻松完成批量Excel文件的加密!

在办公的过程中面对一些重要数据的加密通常都能够借助wps/office来完成,但是面对批量处理的时候还是有些麻烦。

下文主要说明如何使用python的三方模块完成对Excel文件的批量加密操作。

其中主要使用到的三方模块就是win32com,这里需要注意的是在安装该库的时候对应的名称是pywin32。

pip install pywin32

接下来,将需要的几个python模块都导入到代码块中进行后续的业务开发。

# It's importing the win32com.client module.
import win32com.client

# Importing the os module.
import os

from loguru import logger

然后,开发一个单个文件的加密函数excel_set_password_one完成文件加密操作。

def excel_set_password_one(source_file_path, target_file_path, password):
    """
    It takes an Excel file, sets a password on it, and saves it to a new file.

    :param source_file_path: The path to the Excel file you want to set a password on
    :param target_file_path: The path to the file you want to save the password-protected file to
    :param password: the password you want to set for the excel file
    """

    excel = win32com.client.Dispatch("Excel.Application")

    # It's opening the Excel file.
    wb = excel.Workbooks.Open(source_file_path, False, False, None, '')

    # It's turning off the alert that pops up when you try to save a file with a password.
    excel.DisplayAlerts = False

    # It's saving the file to a new file with a password.
    wb.SaveAs(target_file_path, None, password, '')

    # It's closing the Excel application.
    excel.Quit()

单个excel文件加密过程开发完成之后,需要再创建一个函数batch_main可以完成批量执行每个excel文件加密的操作。

def batch_main(batch_dir, password):
    """
    This function takes a directory of files and a password, and then encrypts all the files in the directory with the
    password

    :param batch_dir: The directory where the batch files are located
    :param password: The password to use for the encrypted zip file
    """
    logger.info('批量处理Excel文件加密过程开始!')
    if batch_dir is None or batch_dir.strip() == '':
        logger.debug('批量处理的文件路径不能为空!')
        return
    if password is None or password.strip() == '':
        logger.debug('批量处理的文件加密路径不能为空!')
        return
    for file_name in os.listdir(batch_dir):
        if file_name.__contains__('xlsx'):
            source_file_path = os.path.join(batch_dir, file_name)
            target_file_path = os.path.join(batch_dir, file_name.split('.')[0] + '_已加密.xlsx')
            excel_set_password_one(source_file_path, target_file_path, password)

    logger.info('批量处理Excel文件加密过程完成!')

最后一步,使用main函数调用批量文件加密的batch_main函数即可完成对所有该文件夹下面的文件加密。

if __name__ == '__main__':
    batch_main('D:/test-data-work', '123456')

D:\Python\Python311\python.exe D:\pycharm-projects\the-public\test020\test7.py
2023-01-19 10:35:36.799 | INFO     | __main__:batch_main:64 - 批量处理Excel文件加密过程开始!
2023-01-19 10:35:40.529 | INFO     | __main__:batch_main:77 - 批量处理Excel文件加密过程完成!

到此这篇关于使用Python自制一个回收站清理器的文章就介绍到这了,更多相关Python回收站清理器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 基于Python编写微信清理工具的示例代码

    目录 主要功能 运行环境 核心代码 完整代码 前几天网上找了一款 PC 端微信自动清理工具,用了一下,电脑释放了 30GB 的存储空间,而且不会删除文字的聊天记录,很好用,感觉很多人都用得到,就在此分享一下,而且是用 Python 写的,喜欢 Python 的小伙伴可以探究一下. 主要功能 它可以自动删除 PC 端微信自动下载的大量文件.视频.图片等数据内容,释放几十 G 的空间占用,而且不会删除文字的聊天记录,可以放心使用. 工作以后,微信的群聊实在太多了,动不动就被拉入一个群中,然后群聊里大

  • Python实现清理重复文件功能的示例代码

    目录 前置 查找.删除重复文件 GUI制作 GUI界面设计 逻辑设计 效果展示 在电脑上或多或少的存在一些重复文件,体积小的倒没什么,如果体积大的就很占内存了,而如果自己一个一个查看文件是否重复,然后再删除,还是很要命的. 为此,我用python制作了一个删除重复文件的小工具,核心代码很简单,就十行代码,不管什么类型的文件都可以一键删除! 前置 PySimpleGUI库用来创建可视化界面,os操作文件,只需要这两个库: import os import PySimpleGUI as sg os为

  • Python桌面文件清理脚本分享

    目录 需求 所以脚本需要具有以下功能 实现 目录结构 代码 需求 桌面临时文件较多时,直接删了不太放心,不删又显得很杂乱,故需要写一个脚本批量清理并备份这些鸡肋的文件. 所以脚本需要具有以下功能 1. 可以将桌面文件移动至指定文件夹(可配置). 2. 可以设置例外文件,比如桌面图标不需要移动,部分常用的文件也不需要移动. 3. 出现同名文件时,不能直接覆盖,需要加一个日期后缀予以区分.例如更名为 helloworld-2022-08-30.txt 本来准备按照文件后缀名分文件夹存放的,但毕竟是临

  • 用Python自动清理系统垃圾的实现

    用Python自动清理系统垃圾,再也不用360安全卫士了 在Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:.tmp.._mp)日志文件(.log).临时帮助文件(.gid).磁盘检查文件(.chk).临时备份文件(如:.old.*.bak)以及其他临时文件.特别是如果一段时间不清理IE的临时文件夹"Temporary Internet Files",其中的缓存文件有时会占用上百MB的磁盘空间.这些LJ文件不仅仅浪费了宝贵的磁盘空间,严重时还会使系统运行慢如

  • 五个简单有效的Python清理数据脚本分享

    目录 将 PDF 转换为 CSV 合并 CSV 文件 从 CSV 文件中删除重复的行 拆分 CSV 列 合并不同的数据集 最后 将 PDF 转换为 CSV 在机器学习中,我们应该少一些“数据清理”,多一些“数据准备”.当我们需要从白皮书.电子书或其他PDF文档中抓取数据时,这个脚本为我节省了很多时间. import tabula #获取文件 pdf_filename = input ("Enter the full path and filename: ") # 提取PDF的内容 fr

  • Python实现自动清理电脑垃圾文件详解

    经常存在在我们的电脑中的垃圾文件主要是指系统在运行过程中产生的tmp临时文件.日志文件.临时备份文件等.垃圾清理器的作用其实也是对这些文件进行清理,不会影响到我们使用产生的数据文件.如果是手动删除的话要一个一个的找出来去删除就比较麻烦了,用python写一个脚本直接启动就大功告成了. 在这个脚本的实现过程中使用到的内置库就是os库,没有通过其他的三方插件进行实现.所以也不用下载其他的python模块,直接调用内置库就OK了. import os 因为我们使用界面化的处理,这里导入一下pyqt5的

  • 使用Python自制一个回收站清理器

    经常笔记本电脑的回收站存储了很多的文件,需要打开回收站全部选中进行清理. 但是要是做成python自动化,再将其配置成定时任务就不需要再去手动操作了.或者就是直接双击运行即可完成所有回收站的文件清理. 由于实现过程需要调用windows的终端命令,所以需要安装winshell.然而有的小伙伴没有安装pypiwin32就会报错没有win32con模块,因此,新的python环境安装这两个非标准库就OK了. pip install winshell pip install pypiwin32 其实真

  • 利用Python自制一个批量图片水印添加器

    前段时间写了个比较简单的批量水印添加的python实现方式,将某个文件夹下面的图片全部添加上水印. 今天正好有时间就做了一个UI应用的封装,这样不需要知道python直接下载exe的应用程序使用即可. 下面主要来介绍一下实现过程. 首先,还是老规矩介绍一下在开发过程中需要用到的python非标准库,由于这些库都是之前使用过的. 所以这里就直接导入到代码块中,如果没有的话直接使用pip的方式进行安装即可. # It imports all the classes, attributes, and 

  • Python实现一个论文下载器的过程

    在科研学习的过程中,我们难免需要查询相关的文献资料,而想必很多小伙伴都知道SCI-HUB,此乃一大神器,它可以帮助我们搜索相关论文并下载其原文.可以说,SCI-HUB造福了众多科研人员,用起来也是"美滋滋". 然而,当师姐告诉我:"xx,可以帮我下载几篇文献嘛?".乐心助人的我自当是满口答应了,心想:"这种小事就交给我叭~" 于是乎,我收到了一个excel文档,66篇论文的列表安静地趟在里面(此刻心中碎碎念:"这尼玛,是几篇嘛...&q

  • 基于Python制作一个相册播放器

    大家好,我是小F. 对于相册播放器,大家应该都不陌生(用于浏览多张图片的一个应用). 当然还有视频.音乐播放器,同样是用来播放多个视频.音乐文件的. 在Win10系统下,用[照片]这个应用打开一张图片,就可以浏览该图片所在文件夹中其它图片了. 从上面的图中发现,还有不少其它方面的功能,比如图片裁剪.编辑.打印等. 今天小F就带大家学习一个Python制作相册播放器的实战项目. 功能嘛,当然没有系统自带的好,仅做学习哈. 默认5秒切换一张图片,点击向前按钮,可以快速切换到下一张图片. 主要使用到P

  • Python创建一个自定义视频播放器的实现

    这个例子使用VLC作为视频播放器,并且使用tkinter创建了一个简单的GUI界面,其中包括一个Canvas用于播放视频,几个按钮用于控制视频播放,以及一个滑动条用于控制音量.你可以根据自己的需求修改GUI界面的布局和功能. 1.安装vlc的64位版本. https://vlc.letterboxdelivery.org/vlc/3.0.18/win64/vlc-3.0.18-win64.exe 2.安装python的vlc模块. pip install vlc 3.编写如下代码,包含了播放,暂

  • Python自制一个PDF转PNG图片小工具

    使用PyQt5应用程序制作PDF转换成图片的小工具,可以导入PDF文档后一键生成对应的PNG图片. PDF图片转换小工具使用的中间件: python版本:3.6.8 UI应用版本:PyQt5 PDF文件操作非标准库:PyPDF2 PNG图片生成库:PyMuPDF pip install PyQt5 pip install PyPDF2 pip install PyMuPDF==1.18.17 将需要使用到的python标准库或非标准库全部导入到我们的代码块中进入开发环节. # Importing

  • 听歌识曲--用python实现一个音乐检索器的功能

    听歌识曲,顾名思义,用设备"听"歌曲,然后它要告诉你这是首什么歌.而且十之八九它还得把这首歌给你播放出来.这样的功能在QQ音乐等应用上早就出现了.我们今天来自己动手做一个自己的听歌识曲 我们设计的总体流程图很简单: ----- 录音部分 ----- 我们要想"听",就必须先有录音的过程.在我们的实验中,我们的曲库也要用我们的录音代码来进行录音,然后提取特征存进数据库.我们用下面这样的思路来录音 # coding=utf8 import wave import pya

  • 详解如何用python实现一个简单下载器的服务端和客户端

    话不多说,先看代码: 客户端: import socket def main(): #creat: download_client=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #link: serv_ip=input("please input server IP") serv_port=int(input(("please input server port"))) serv_addr=(serv_ip,ser

  • 用python制作个音乐下载器

    前言 某个夜深人静的夜晚,我打开了自己的文件夹,发现了自己写了许多似乎很无聊的代码.于是乎,一个想法油然而生:"生活已经很无聊了,不如再无聊一点叭". 说干就干,那就开一个专题,我们称之为kimol君的无聊小发明. 妙-啊~~~ 直奔主题!本文主题是用python做一个音乐下载器(MusicLover),直接上图: 想必看到这里,各位看官的脑海中已经脑补出各种JS解密,参数分析等等让初学者很头疼的东东了. 然而,我并不打算这么干~(小声嘀咕:"没想到吧") 本文很友

  • 利用Python自制网页并实现一键自动生成探索性数据分析报告

    目录 前言 上传文件以及变量的筛选 前言 今天小编带领大家用Python自制一个自动生成探索性数据分析报告这样的一个工具,大家只需要在浏览器中输入url便可以轻松的访问,如下所示: 第一步 首先我们导入所要用到的模块,设置网页的标题.工具栏以及logo的导入,代码如下: from st_aggrid import AgGrid import streamlit as st import pandas as pd import pandas_profiling from streamlit_pan

随机推荐