What are some practical Python scripts?

WBOY
Release: 2023-05-10 14:25:06
forward
1295 people have browsed it

System Prompt Tool

This tool uses the win10toast library to trigger system notifications and can be used to prompt important things.

What are some practical Python scripts?

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

Folder cleaning tool

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()
Copy after login

Convert PDF files to audio

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()
Copy after login

Batch compressed files

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')
Copy after login

Send by email

# 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)
Copy after login

The above is the detailed content of What are some practical Python scripts?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template