首頁 > 軟體

分享五個超實用Python指令碼,減少垃圾軟體負擔

2022-05-28 18:01:52

前言

大家好,我是辣條

今天給大家帶來幾個實用的python指令碼工具,原因不難猜這段時間我親愛的女朋友呢給我整出點小花樣,差點讓我電腦GG了。我開啟系統磁碟一看真的是通紅通紅的啊 細細一看一堆的垃圾軟體,關鍵是她安裝的時候壓根不看附帶一堆的垃圾軟體,這時候我只能掏出我珍藏多年的一些指令碼用以避免之後再發生類似的慘案了

系統提示工具

這個工具用到了win10toast庫來觸發系統的通知,可以用於提示重要事情。

#定時通知指令碼
from win10toast import ToastNotifier
import time
#構建通知物件範例
toaster = ToastNotifier()

title = input("請輸入事件標題:")
content = input("請輸入事件提要")
time_min = float(input("請輸入提醒時間(分鐘):"))

#time_min = time_min * 60
print("設定完成!")
time.sleep(1)
print("開始執行..")
time.sleep(time_min)
toaster.show_toast(f"{title}", f"{content}", duration=10, threaded=True)
while toaster.notification_active(): time.sleep(0.005)

資料夾清理工具

import os 
import threading 
import time 
  
  
def get_file_list(file_path): 
#檔案按最後修改時間排序 
    dir_list = os.listdir(file_path) 
    if not dir_list: 
        return 
    else: 
        dir_list = sorted(dir_list, key=lambda x: os.path.getmtime(os.path.join(file_path, x))) 
    return dir_list 
  
def get_size(file_path): 
    """[summary] 
    Args: 
        file_path ([type]): [目錄] 
 
    Returns: 
        [type]: 返回目錄大小,MB 
    """ 
    totalsize=0 
    for filename in os.listdir(file_path): 
        totalsize=totalsize+os.path.getsize(os.path.join(file_path, filename)) 
    #print(totalsize / 1024 / 1024) 
    return totalsize / 1024 / 1024 
  
def detect_file_size(file_path, size_Max, size_Del): 
    """[summary] 
    Args: 
        file_path ([type]): [檔案目錄] 
        size_Max ([type]): [資料夾最大大小] 
        size_Del ([type]): [超過size_Max時要刪除的大小] 
    """ 
    print(get_size(file_path)) 
    if get_size(file_path) > size_Max: 
        fileList = get_file_list(file_path) 
        for i in range(len(fileList)): 
            if get_size(file_path) > (size_Max - size_Del): 
                print ("del :%d %s" % (i + 1, fileList[i])) 
                #os.remove(file_path + fileList[i]) 
     
  
def detectFileSize(): 
 #檢測執行緒,每個5秒檢測一次 
    while True: 
        print('======detect============') 
        detect_file_size("/Users/aaron/Downloads/", 100, 30) 
        time.sleep(5) 
   
if __name__ == "__main__": 
    #建立檢測執行緒 
    detect_thread = threading.Thread(target = detectFileSize) 
    detect_thread.start()

PDF檔案轉音訊

import pyttsx3
import pyPDF2

book = open('路徑/book.pdf',rb)
pdfreader = pyPDF2.PdfFileReader(book)
pages = pdfreader.numPages
print(pages)

voice = pyttsx3.init()
page = pdfreader.getpage(3)
text = page.extractText()
speaker.say(text)
speaker.runAndWait()

批次壓縮檔案

import zipfile # zipfile庫 壓縮檔案
import os
import time


def batch_zip(start_dir):
    start_dir = start_dir #檔案路徑
    file_news = start_dir + '.zip' # 壓縮後資料夾的名字

    z = zipfile.ZipFile(file_news, 'w', zipfile.ZIP_DEFLATED)
    for dir_path, dir_names, file_names in os.walk(start_dir):
        #避免從根目錄複製
        f_path = dir_path.replace(start_dir, '')
        #壓縮所有檔案
        f_path = f_path and f_path + os.sep
        for filename in file_names:
            z.write(os.path.join(dir_path, filename), f_path + filename)
     z.close()
     return file_news


batch_zip('./data/ziptest')

郵件傳送

# 1、匯入模組
import yagmail

# 2、設定smtp服務資訊
yag = yagmail.SMTP(user="改成自己的郵箱賬號@126.com", password="改成自己的郵箱密碼", host='smtp.126.com')

# 3、設定郵件主題與郵件內容
subject = 'Python郵件測試'
content = ['Python郵件測試 -- 郵件來自黑馬程式設計師Python+巨量資料']

# 4、傳送郵件
yag.send('gocndws@126.com', subject, content)

以上就是分享五個超實用Python指令碼,減少垃圾軟體負擔的詳細內容,更多關於Python指令碼的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com