Maison > développement back-end > Tutoriel Python > Quels sont les scripts Python pratiques ?

Quels sont les scripts Python pratiques ?

WBOY
Libérer: 2023-05-10 14:25:06
avant
1339 Les gens l'ont consulté

Outil d'invite système

Cet outil utilise la bibliothèque win10toast pour déclencher des notifications système et peut être utilisé pour demander des informations importantes.

Quels sont les scripts Python pratiques ?

#定时通知脚本
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)
Copier après la connexion

Outil de nettoyage de dossiers

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()
Copier après la connexion

Conversion de fichiers PDF en 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()
Copier après la connexion

Fichiers compressés par lots

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')
Copier après la connexion

Envoyer par e-mail

# 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)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal