分享五个超实用Python脚本,减少垃圾软件负担
作者:五包辣条! 发布时间:2022-07-18 18:38:59
标签:Python,实用,脚本
前言
大家好,我是辣条
今天给大家带来几个实用的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
0
投稿
猜你喜欢
- 访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然后我就试着去实验自己的ftp操作类,如下(
- 没什么实际用途,纯属消遣Quick Click<html><head><title>Quick_Clic
- 第一步 去高德地图开放平台申请密钥 高德地图开放平台第二部 在vue-cli项目目录结构 里面多了config文件夹和
- vue登录页面回车执行事件@keyup.enter.native<el-form ref="loginForm"
- 函数javascript函数相信大家都写过不少了,所以我们这里只是简单介绍一下.创建函数:function f(x) {........}v
- 关于python网络爬虫selenium打开多窗口与切换页面的方法代码测试与解析。首先打开百度from selenium import we
- reflect 反射包针对反射,Go 提供了 reflect 包,使用这个包里的函数可以在程序运行时获取和更新未知变量的值,操作未知变量的方
- 相关的OBJECTPROPERTY可参考:http://msdn.microsoft.com/en-us/library/ms176105.
- 本文实例讲述了python使用socket远程连接错误处理方法。分享给大家供大家参考。具体如下:import socket, syshost
- 模板的继承完美在写html的时候会发现,自己多个html文件中又好多东西是一样的,包括静插件的引入 还有有些简单的css样式都不需要修改,这
- 目录Jupyter:大数据可视化的一站式商店 Tableau:AI,大数据和机器学习应用可视化的最佳解决方案Googl
- 本文主要向大家介绍的是正确优化SQL Server数据库的经验总结,其中包括在对其进行优化的实际操作中值得大家注意的地方描述,以及对SQL语
- Python时间格式化的时候,去掉前导0的:dt = datetime.now() print dt.strftime('%-H
- 实际的项目,存在多张表的关联关系。不可能在一张表里面就能检索出所有数据。如果没有表连接的话,那么我们就需要非常多的操作。比如需要从A表找出限
- np.newaxis 新增一个轴 如何将数组[0,1,2]转换成列向量用ndarray[: , np.newaxis]代码实质就是将原本的(
- 数独规则数独游戏,经典的为9×9=81个单元格组成的九宫格,同时也形成了3×3=9个小九宫格,要求在81个小单元格中填入数字1~9,并且数字
- 在这个自动化时代,我们有很多重复无聊的工作要做。 想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松。 那么在本文中
- function utf8_substr($str,$len) { for($i=0;$i<$len;$i++) { $temp_st
- 通常我们在vue里面使用别人开发的组件,第一步就是install,第二步在main.js里面引入,第三步Vue.use这个组件。今天我简单的
- append()方法追加传递obj到现有的列表。语法以下是append()方法的语法:list.append(obj)参数&nb