分享五个超实用Python脚本,减少垃圾软件负担
作者:五包辣条! 时间:2022-07-18 18:38:59
前言
大家好,我是辣条
今天给大家带来几个实用的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)
来源:https://blog.csdn.net/AI19970205/article/details/124781397
标签:Python,实用,脚本
0
投稿
猜你喜欢
Yahoo! BrowserPlus 发布
2008-11-20 13:35:00
Python实现快速排序算法及去重的快速排序的简单示例
2021-06-02 19:58:09
python实现半自动化发送微信信息
2023-07-16 09:15:38
Python实现印章代码的算法解析
2023-10-14 15:18:24
MySQL五个查询优化方法
2009-08-29 15:05:00
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2023-11-19 09:18:32
详解Python3序列赋值、序列解包
2022-04-19 05:24:51
从一道js笔试题到==运算符的简析
2010-05-10 20:28:00
Django+Celery实现动态配置定时任务的方法示例
2021-06-11 13:56:19
Python echarts实现数据可视化实例详解
2022-02-22 03:54:09
使用Python将Mysql的查询数据导出到文件的方法
2024-01-17 21:36:22
python反爬虫方法的优缺点分析
2023-09-07 11:38:02
Python产生batch数据的操作
2022-11-22 16:00:59
python列表与列表算法详解(2)
2023-06-10 21:11:10
Python图像处理之图片文字识别功能(OCR)
2023-10-29 17:38:00
浅析mmdetection在windows10系统环境中搭建过程
2022-05-03 17:37:37
如何使用Django(python)实现android的服务器端
2022-09-25 01:06:43
PHP chr()函数讲解
2023-06-05 04:03:58
python中偏函数partial用法实例分析
2021-03-24 21:35:23
Django实现简单登录的示例代码
2022-03-26 04:10:18