实用的Python脚本有哪些
时间:2023-05-10 18:30
这个工具用到了win10toast库来触发系统的通知,可以用于提示重要事情。 以上就是实用的Python脚本有哪些的详细内容,更多请关注Gxl网其它相关文章!系统提示工具
#定时通知脚本from win10toast import ToastNotifierimport time#构建通知对象实例toaster = ToastNotifier()title = input("请输入事件标题:")content = input("请输入事件提要")time_min = float(input("请输入提醒时间(分钟):"))#time_min = time_min * 60print("设置完成!")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 pyttsx3import pyPDF2book = open('路径/book.pdf',rb)pdfreader = pyPDF2.PdfFileReader(book)pages = pdfreader.numPagesprint(pages)voice = pyttsx3.init()page = pdfreader.getpage(3)text = page.extractText()speaker.say(text)speaker.runAndWait()
批量压缩文件
import zipfile # zipfile库 压缩文件import osimport timedef 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_newsbatch_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)