<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
經常筆記型電腦的回收站儲存了很多的檔案,需要開啟回收站全部選中進行清理。
但是要是做成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:PythonPython311python.exe D:pycharm-projectsthe-publictest020test7.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回收站清理器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45