首页 > 编程语言 >10个 Python 自动化脚本,让你的工作事半功倍!

10个 Python 自动化脚本,让你的工作事半功倍!

时间:2024-08-30 16:50:43浏览次数:11  
标签:10 sender Python 事半功倍 import path backup email

文末赠免费精品编程资料~~

Python是一种功能强大且灵活的编程语言,非常适合用来做自动化。无论是简化重复性的任务,还是处理复杂的流程,Python都能帮你轻松应对。

今天,给大家分享10个典型使用的Python自动化脚本,它们能大大提升你的工作效率,并简化工作流程。

1. 邮件自动化

脚本概述

这个脚本可以自动发送邮件,特别适用于发送新闻简报、更新通知或其他需要定期发送的邮件。

主要功能

  • • 自动发送带附件的邮件。

  • • 支持多个收件人。

  • • 可自定义邮件的主题和内容。

示例代码

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def send_email(recipient, subject, body):
    sender_email = "[email protected]"
    sender_password = "yourpassword"

    message = MIMEMultipart()
    message['From'] = sender_email
    message['To'] = recipient
    message['Subject'] = subject

    message.attach(MIMEText(body, 'plain'))

    server = smtplib.SMTP('smtp.example.com', 587)
    server.starttls()
    server.login(sender_email, sender_password)
    text = message.as_string()
    server.sendmail(sender_email, recipient, text)
    server.quit()

send_email("[email protected]", "Subject Here", "Email body content here.")

2. 网页数据抓取

脚本概述

通过BeautifulSoup和Requests库,这个脚本可以自动化地从网页上提取数据。

主要功能

  • • 从HTML页面中提取数据。

  • • 解析并处理网页数据。

  • • 将提取的数据保存到文件或数据库中。

示例代码

import requests
from bs4 import BeautifulSoup

def scrape_website(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')
    titles = soup.find_all('h1')

    for title in titles:
        print(title.get_text())

scrape_website("https://example.com")

3. 文件管理

脚本概述

自动化地组织和管理电脑上的文件,例如根据文件类型将文件分类到不同的文件夹中。

主要功能

  • • 将文件移动到指定目录。

  • • 根据特定规则重命名文件。

  • • 删除不需要的文件。

示例代码

import os
import shutil

def organize_files(directory):
    for filename in os.listdir(directory):
        if filename.endswith('.txt'):
            shutil.move(os.path.join(directory, filename), os.path.join(directory, 'TextFiles', filename))
        elif filename.endswith('.jpg'):
            shutil.move(os.path.join(directory, filename), os.path.join(directory, 'Images', filename))

organize_files('/path/to/your/directory')

4. 数据分析

脚本概述

利用Pandas库自动化数据分析任务,这是一个强大的数据处理和分析工具。

主要功能

  • • 从CSV文件中读取并处理数据。

  • • 执行数据清理和转换。

  • • 生成数据的摘要统计和可视化。

示例代码

import pandas as pd

def analyze_data(file_path):
    data = pd.read_csv(file_path)
    summary = data.describe()
    print(summary)

analyze_data('data.csv')

5. 自动生成报告

脚本概述

通过从各种来源提取数据,自动生成格式化的报告文档。

主要功能

  • • 从数据库或API中提取数据。

  • • 将数据整理成报告格式。

  • • 将报告通过邮件发送或本地保存。

示例代码

import pandas as pd
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def generate_report(data):
    report = data.describe().to_string()
    return report

def send_report(report, recipient):
    sender_email = "[email protected]"
    sender_password = "yourpassword"

    message = MIMEMultipart()
    message['From'] = sender_email
    message['To'] = recipient
    message['Subject'] = "Automated Report"

    message.attach(MIMEText(report, 'plain'))

    server = smtplib.SMTP('smtp.example.com', 587)
    server.starttls()
    server.login(sender_email, sender_password)
    text = message.as_string()
    server.sendmail(sender_email, recipient, text)
    server.quit()

data = pd.read_csv('data.csv')
report = generate_report(data)
send_report(report, "[email protected]")

6. 数据库备份

脚本概述

自动化数据库备份,确保数据的安全性和完整性。

主要功能

  • • 连接到数据库。

  • • 创建备份文件。

  • • 将备份存储到指定位置。

示例代码

import os
import datetime
import sqlite3

def backup_database(db_path, backup_dir):
    connection = sqlite3.connect(db_path)
    backup_path = os.path.join(backup_dir, f"backup_{datetime.datetime.now().strftime('%Y%m%d%H%M%S')}.db")
    with open(backup_path, 'wb') as f:
        for line in connection.iterdump():
            f.write(f'{line}\n'.encode('utf-8'))
    connection.close()

backup_database('example.db', '/path/to/backup/directory')

7. 自动化测试

脚本概述

使用Selenium等框架自动化测试Web应用程序。

主要功能

  • • 自动化浏览器交互。

  • • 运行测试用例并报告结果。

  • • 集成到CI/CD流水线中。

示例代码

from selenium import webdriver

def run_tests():
    driver = webdriver.Chrome()
    driver.get('https://example.com')
    assert "Example Domain" in driver.title
    driver.quit()

run_tests()

8. 任务调度

脚本概述

使用Python的Schedule库自动化任务调度。

主要功能

  • • 定时执行任务。

  • • 定期执行任务。

  • • 可与其他自动化脚本集成。

示例代码

import schedule
import time

def job():
    print("Executing scheduled task...")

schedule.every().day.at("10:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

9. 自动填写网页表单

脚本概述

自动化填写网页表单的过程,节省时间并减少出错的几率。

主要功能

  • • 自动填写表单并提交。

  • • 处理不同类型的表单字段。

  • • 捕获并处理表单响应。

示例代码

from selenium import webdriver

def fill_form():
    driver = webdriver.Chrome()
    driver.get('https://example.com/form')
    driver.find_element_by_name('name').send_keys('John Doe')
    driver.find_element_by_name('email').send_keys('[email protected]')
    driver.find_element_by_name('submit').click()
    driver.quit()

fill_form()

10. 文件备份与同步

脚本概述

自动化不同目录或云存储之间的文件备份与同步。

主要功能

  • • 将文件复制到备份位置。

  • • 在多个设备之间同步文件。

  • • 定时进行文件备份。

示例代码

import shutil
import os

def backup_files(source_dir, backup_dir):
    for filename in os.listdir(source_dir):
        source_file = os.path.join(source_dir, filename)
        backup_file = os.path.join(backup_dir, filename)
        shutil.copy2(source_file, backup_file)

backup_files('/path/to/source/directory', '/path/to/backup/directory')

利用Python进行自动化开发,可以显著提升生产力,帮助你处理重复性任务,优化工作流程,并确保工作的准确性。不论是管理邮件、抓取数据、组织文件,还是备份数据库,这10个Python自动化脚本都可以让你的日常工作更加高效,减少耗时。

文末福利

如果你对Python感兴趣的话,可以试试我整理的这一份全套的Python学习资料,【点击这里】免费领取!

包括:Python激活码+安装包、Python
web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

① Python所有方向的学习路线图,清楚各个方向要学什么东西

② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析

③ 100多个Python实战案例,学习不再是只会理论

④ 华为出品独家Python漫画教程,手机也能学习

⑤ 历年互联网企业Python面试真题,复习时非常方便

标签:10,sender,Python,事半功倍,import,path,backup,email
From: https://blog.csdn.net/2401_85903292/article/details/141722028

相关文章

  • Python 新手必看:如何用 unittest 写出高质量代码?
    文末赠免费精品编程资料~~在Python中,unittest 模块是进行单元测试的强大工具。无论你是初学者还是有经验的开发者,单元测试都是确保代码质量的重要一环。而 unittest 模块就是让这一过程变得简单、快捷的利器。什么是单元测试?在进入 unittest 模块之前,我们先来了解一......
  • 探索智能照明--关于调光降压芯片FP7102、FP7103在摄影灯上的应用
    近年来,人们在丰富多彩的日常生活中对照明设备的功能和效果提出了更高要求。而智能调光降压芯片在照明领域也成为备受关注的热门技术。尤其是FP7102和FP7103这两款具有突出性能的芯片,在摄影灯的应用中展现出了巨大优势。本文将深入探讨台湾远翔智能调光降压芯片FP7102、FP7103......
  • 计算机毕设推荐-基于python的超市数据处理可视化分析
    ......
  • 全网最详细爬虫教学-刚学Python也行-方法详解-看我这篇就够了-第一节
        前言        很多人一听到爬虫脑子里就想到黑客,顶级程序员等。但其实爬虫不难,今天,我就来教大家快速入门爬虫。    requests库        说到爬虫,就不得不提request库了,它能提取静态网页源码(静态网页!!!),例如百度就是个静态网站,实战演练一下。......
  • 小尺寸BLE 5.2低功耗串口透传蓝牙模块 - ANS-BT103M
    ANS-BT103M是安朔科技自主开发的一款小尺寸BLE蓝牙5.2模块,它支持HID、GATT、ATT和其他配置文件,使用UART作为编程接口,用户可以使用AT命令通过UART读取或写入模块的配置,支持空中升级。支持蓝牙主从一体,一对多连接,透传速率可达60KB/s,支持定制开发。产品参数:模块型号      ......
  • 【Python机器学习】NLP词中的数学——主题建模
    目录齐普夫定律相关度排序工具其他工具OkapiBM25在文档向量中,词计数是有用的,但是纯词计数,即使按照文档长度进行归一化处理,也不能告诉我们太多该词在当前文档相对于语料库中其他文档的重要度信息。如果能弄清楚这些信息,我们就能开始描述语料库中的文档了。假设我们有一......
  • ChatGPT学习之旅 (10) 系统全球化小助手
    LOTO****示波器统计曲线和故障分析pass/fail测试虚拟示波器可以应用在工业自动化检测中,除了常规的检测波形和测量值参数以外,由多个行业客户定制和验证的统计曲线和故障分析(pass/fail)功能也为工业自动化检测带来极大的便利。(一)故障分析(pass/fail)的基础:统计曲线功能在信号检测的......
  • Python 通过 COM 调用 ChemDraw 实践
    COMComponentObjectModel(COM)是由Microsoft提供的一种二进制接口技术,用于软件组件间的交互。它支持在不同编程语言、编程环境、进程和计算机之间以语言中立的方式使用对象。使用Python通过COM接口调用ChemDraw绘制分子及获取文档中的对象Python提供了一些常用的......
  • P3320 [SDOI2015] 寻宝游戏 与 P10930 异象石 与 CF176E Archaeology
    思路:考虑按照dfn序将关键点的集合排序后为\(a_0,a_1,\cdots,a_k\),则答案为:\[\frac{\sum\limits_{i=0}^k\operatorname{dis}(a_i,a_{(i+1)\bmodk})}{2}\]简单证明一下:需要找出包含一些关键点的最小联通导出子图。则随便以一个关键点为根,对于子树内没有关键点的子树直接......
  • 适合小型企业运营的10大AI工具
    人工智能是当今最热门、最受关注的科技分支。各种规模和行业的公司都在开发这些系统,使用它们或两者兼而有之。某种形式的商业就绪AI已经存在多年,机器学习驱动的高级分析作为这一运动的早期先锋。因此,值得问一下为什么那些可能错过了那一波的公司现在却跃跃欲试。答案可以归结......