网络编程
位置:首页>> 网络编程>> Python编程>> 分享五个超实用Python脚本,减少垃圾软件负担

分享五个超实用Python脚本,减少垃圾软件负担

作者:五包辣条!  发布时间:2022-07-18 18:38:59 

标签:Python,实用,脚本

前言

大家好,我是辣条

今天给大家带来几个实用的python脚本工具,原因不难猜这段时间我亲爱的女朋友呢给我整出点小花样,差点让我电脑GG了。我打开系统盘一看真的是通红通红的啊 细细一看一堆的垃圾软件,关键是她安装的时候压根不看附带一堆的垃圾软件,这时候我只能掏出我珍藏多年的一些脚本用以避免之后再发生类似的 * 了

系统提示工具

这个工具用到了win10toast库来触发系统的通知,可以用于提示重要事情。

分享五个超实用Python脚本,减少垃圾软件负担

#定时通知脚本
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()

分享五个超实用Python脚本,减少垃圾软件负担

批量压缩文件

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)

来源:https://blog.csdn.net/AI19970205/article/details/124781397

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com