Python3,掌握这4个自动化脚本,让工作效率提升200%(上)。

举报
Carl_奕然 发表于 2023/03/12 12:05:25 2023/03/12
【摘要】 小云:有了这个自动化脚本,我岂不是可以提高生产力了。

1、引言


最近小云在休假, 难得的清净…
我们直接来分享4个在实际工作中运用较多的脚本,
提升工作效率的同时,也解放双手!

在这里插入图片描述


2、自动发送多封邮件


这个脚本的功能在实际的工作中非常的常用,如:

  • 批量定时发送邮件
  • 自定义调整邮件的内容、附件;


2.1 模块介绍


模块:
第三方库:

  • Pandas: 用于数据分析清洗地工具


原理:

  • Smtlib - 向SMTP服务器发送电子邮件,它定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 SMTP 或 ESMTP 监听程序的计算机

2.1 模块安装

老规矩, pip 方式安装:

pip install pandas


其它安装方式,直接看这两篇:

2.3 代码实战


代码展示:

# -*- coding:utf-8 -*-
# @Time   : 2022-01-24
# @Author : carl_DJ

import smtplib
from email.message import EmailMessage
import pandas as pd

# 创建email
def send_email(remail, rsubject, rcontent):
    email = EmailMessage()                           
    #填写发送人信息
    email['from'] = 'The Pythoneer Here'    
    #填写收件人信息       
    email['to'] = remail     
    #邮件标题                       
    email['subject'] = rsubject   
    #邮件内容                  
    email.set_content(rcontent)     
    #设置邮箱服务器基本信息                
    with smtplib.SMTP(host='smtp.gmail.com',port=587)as smtp:
        smtp.ehlo()                                 
        smtp.starttls()                
        #登录信息            
        smtp.login("carl@xxx.com","carl@371") 
        #发送邮件
        smtp.send_message(email)                    
        print("email send to ",remail)              

if __name__ == '__main__':
    df = pd.read_excel('list.xlsx')
    length = len(df)+1

    for index, item in df.iterrows():
        email = item[0]
        subject = item[1]
        content = item[2]

        send_email(email,subject,content)

3、自动桌面提示


3.1 模块介绍


这个脚本会自动触发windows桌面通知,提示重要事项,比如说:您已工作两小时,该休息了

我们可以设定固定时间提示,比如隔10分钟、1小时等

第三方库:

  • win10toast: 用于发送桌面通知的工具

3.1 模块安装


pip install win10toast


安装完成,我们就可以写代码。


3.3 代码实战


代码展示:

# -*- coding:utf-8 -*-
# @Time   : 2022-01-24
# @Author : carl_DJ

from win10toast import ToastNotifier
import time
toaster = ToastNotifier()

#基本信息设置
header = input("What You Want Me To Remember\n")
text = input("Releated Message\n")
time_min=float(input("In how many minutes?\n"))

time_min = time_min * 60
print("Setting up reminder..")
time.sleep(2)
print("all set!")
time.sleep(time_min)
toaster.show_toast(f"{header}", f"{text}", duration=10, threaded=True)
while toaster.notification_active(): 
    time.sleep(0.005)


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。