当前位置:   article > 正文

9个最佳Python脚本:让工作自动化起来_python自动化

python自动化

Python是一种流行的编程语言,以其简洁和易读性而闻名。它提供了大量的库和模块,使其成为自动化各种任务的绝佳选择。

我们将探讨9个Python脚本及其代码,可以帮助您自动化各种任务并提高工作效率。无论您是开发人员、数据分析师还是只是想简化工作流程的人,这些脚本都能满足您的需求。

如果你在学习Python中明明很认真努力,却依旧学习得很困难。那这时候不禁要思考,你的学习方法是否正确?是在有效学习,还是无效的自我感动?

一、自动化文件管理

1.在目录中对文件进行排序



\# Python脚本用于按文件扩展名对目录中的文件进行排序  
import os  
from shutil import move  
def sort\_files(directory\_path):  
    for filename in os.listdir(directory\_path):  
        if os.path.isfile(os.path.join(directory\_path, filename)):  
            file\_extension = filename.split('.')\[\-1\]  
            destination\_directory = os.path.join(directory\_path, file\_extension)  
            if not os.path.exists(destination\_directory):  
                os.makedirs(destination\_directory)  
                move(os.path.join(directory\_path, filename),   
                     os.path.join(destination\_directory, filename)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

这个Python脚本通过根据文件扩展名将文件分类到子目录中来整理目录中的文件。

它识别文件扩展名并将文件移动到相应的子目录中。这对于清理下载文件夹或为特定项目组织文件非常有用。

2.删除空文件

# 用Python脚本删除目录中的空文件夹  
import os  
def remove_empty_folders(directory_path):  
    for root, dirs, files in os.walk(directory_path, topdown=False):  
        for folder in dirs:  
            folder_path = os.path.join(root, folder)  
            if not os.listdir(folder_path):  
                os.rmdir(folder_path)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

此Python脚本在指定目录中搜索并删除空文件夹。它可以帮助您保持整洁的文件夹结构,特别是在处理大量数据集时。

3.重命名多个文件



\# 用Python脚本重命名目录中的多个文件  
import os  
def rename\_files(directory\_path, old\_name, new\_name):  
    for filename in os.listdir(directory\_path):  
        if old\_name in filename:  
            new\_filename = filename.replace(old\_name, new\_name)  
            os.rename(os.path.join(directory\_path, filename),  
                      os.path.join(directory\_path, new\_filename))


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这个Python脚本允许您同时重命名目录中的多个文件。它接受旧名称和新名称作为输入,并将符合指定条件的所有文件的旧名称替换为新名称。

二、用Python进行网络爬虫

1.从网站提取数据



\# 用于网页抓取的Python脚本,从一个网站中提取数据。  
import requests  
from bs4 import BeautifulSoup  
def scrape\_data(url):  
    response = requests.get(url)  
    soup = BeautifulSoup(response.text, 'html.parser')  
    \# 提取网站中相关数据的代码在这里


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这个Python脚本利用requests和BeautifulSoup库从一个网站上爬取数据。它获取网页的内容,并使用BeautifulSoup解析HTML。

您可以自定义脚本以提取特定的数据,如标题、产品信息或价格。

2.批量下载图片



\# 从网站批量下载图像的Python脚本  
import requests  
def download\_images(url, save\_directory):  
    response = requests.get(url)  
    if response.status\_code == 200:  
        images = response.json() \# 假设API返回一个图片URL的JSON数组  
        for index, image\_url in enumerate(images):  
            image\_response = requests.get(image\_url)  
            if image\_response.status\_code == 200:  
                with open(f"{save\_directory}/image\_{index}.jpg", "wb") as f:  
                    f.write(image\_response.content)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

这个Python脚本旨在从网站批量下载图片。它假设该网站提供一个返回图像URL数组的JSON API。

然后,脚本遍历这些URL并下载图片,将其保存到指定目录中。

3.自动化表单提交



\# 用Python脚本自动化网站上的表单提交  
import requests  
def submit\_form(url, form\_data):  
    response = requests.post(url, data=form\_data)  
    if response.status\_code == 200:  
        \# 在表单提交后处理响应的代码放在这里


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这个Python脚本通过发送带有表单数据的POST请求来自动化网站上的表单提交。

您可以通过提供URL和需要提交的必要表单数据来定制脚本。

三、文本处理和操作

1.在文本文件中计算单词数



\# Python脚本用于统计文本文件中的单词数量  
def count\_words(file\_path):  
    with open(file\_path, 'r') as f:  
        text = f.read()  
        word\_count = len(text.split())  
        return word\_count


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这个 Python 脚本读取一个文本文件并计算其中包含的单词数量。

它可以用于快速分析文本文档的内容,或者跟踪写作项目中的字数统计。

2.查找和替换文本



\# 在文件中查找和替换文本的Python脚本  
def find\_replace(file\_path, search\_text, replace\_text):  
    with open(file\_path, 'r') as f:  
        text = f.read()  
        modified\_text = text.replace(search\_text, replace\_text)  
    with open(file\_path, 'w') as f:  
        f.write(modified\_text)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这个Python脚本在文件中搜索特定文本,并将其替换为所需的文本。

它可以帮助批量替换某些短语或纠正大型文本文件中的错误。

3.生成随机文本



\# 生成随机文本的Python脚本  
import random  
import string  
def generate\_random\_text(length):  
    letters = string.ascii\_letters + string.digits + string.punctuation  
    random\_text = ''.join(random.choice(letters) for i in range(length))  
    return random\_text


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这个Python脚本生成指定长度的随机文本。它可以用于测试和模拟,甚至可以作为创意写作的随机内容来源。

四、自动化电子邮件

1.发送个性化电子邮件



\# 用Python脚本向收件人列表发送个性化电子邮件  
import smtplib  
from email.mime.text import MIMEText  
from email.mime.multipart import MIMEMultipart  
def send\_personalized\_email(sender\_email, sender\_password, recipients, subject, body):  
    server = smtplib.SMTP('smtp.gmail.com', 587)  
    server.starttls()  
    server.login(sender\_email, sender\_password)  
    for recipient\_email in recipients:  
        message = MIMEMultipart()  
        message\['From'\] = sender\_email  
        message\['To'\] = recipient\_email  
        message\['Subject'\] = subject  
        message.attach(MIMEText(body, 'plain'))  
        server.sendmail(sender\_email, recipient\_email, message.as\_string())  
        server.quit()


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

此Python脚本使您能够向一组收件人发送个性化的电子邮件。您可以自定义发件人的电子邮件、密码、主题、正文以及收件人电子邮件列表。

请注意,出于安全原因,在使用Gmail时应使用特定于应用程序的密码。

2.发送电子邮件附件



\# 使用Python脚本发送带有文件附件的电子邮件  
import smtplib  
from email.mime.multipart import MIMEMultipart  
from email.mime.base import MIMEBase  
from email import encoders  
def send\_email\_with\_attachment(sender\_email, sender\_password, recipient\_email, subject, body, file\_path):  
    server = smtplib.SMTP('smtp.gmail.com', 587)  
    server.starttls()  
    server.login(sender\_email, sender\_password)  
    message = MIMEMultipart()  
    message\['From'\] = sender\_email  
    message\['To'\] = recipient\_email  
    message\['Subject'\] = subject  
    message.attach(MIMEText(body, 'plain'))  
    with open(file\_path, "rb") as attachment:  
        part = MIMEBase('application', 'octet-stream')  
        part.set\_payload(attachment.read())  
        encoders.encode\_base64(part)  
        part.add\_header('Content-Disposition', f"attachment; filename= {file\_path}")  
        message.attach(part)  
    server.sendmail(sender\_email, recipient\_email, message.as\_string())  
    server.quit()


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

这个Python脚本允许您发送带有文件附件的电子邮件。只需提供发件人的电子邮件、密码、收件人的电子邮件、主题、正文以及要附加的文件路径即可。

3.自动电子邮件提醒



\# Python脚本发送自动电子邮件提醒  
import smtplib  
from email.mime.text import MIMEText  
from datetime import datetime, timedelta  
def send\_reminder\_email(sender\_email, sender\_password, recipient\_email, subject, body, reminder\_date):  
    server = smtplib.SMTP('smtp.gmail.com', 587)  
    server.starttls()  
    server.login(sender\_email, sender\_password)  
    now = datetime.now()  
    reminder\_date = datetime.strptime(reminder\_date, '%Y-%m-%d')  
    if now.date() == reminder\_date.date():  
        message = MIMEText(body, 'plain')  
        message\['From'\] = sender\_email  
        message\['To'\] = recipient\_email  
        message\['Subject'\] = subject  
        server.sendmail(sender\_email, recipient\_email, message.as\_string())  
        server.quit()


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

此Python脚本根据指定日期发送自动电子邮件提醒。它对于设置重要任务或事件的提醒非常有用,确保您永远不会错过截止日期。

五、自动化Excel电子表格

1.读写Excel

# Python脚本用于读取和写入数据到Excel电子表格  
import pandas as pd  
def read_excel(file_path):  
    df = pd.read_excel(file_path)  
    return df  
def write_to_excel(data, file_path):  
    df = pd.DataFrame(data)  
    df.to_excel(file_path, index=False)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

此Python脚本使用pandas库从Excel电子表格中读取数据,并将数据写入新的Excel文件。

它使您能够以编程方式处理Excel文件,从而提高数据操作和分析效率。

2.数据分析和可视化



\# 使用pandas和matplotlib进行数据分析和可视化的Python脚本  
import pandas as pd  
import matplotlib.pyplot as plt  
def analyze\_and\_visualize\_data(data):  
    \# 您的代码在这里用于数据分析和可视化  
    pass


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这个Python脚本使用pandas和matplotlib库进行数据分析和可视化。

它使您能够探索数据集,得出洞察,并创建数据的可视化表示。

3.合并多个工作表



\# 将多个Excel表格合并成一个表格的Python脚本  
import pandas as pd  
def merge\_sheets(file\_path, output\_file\_path):  
    xls = pd.ExcelFile(file\_path)  
    df = pd.DataFrame()  
    for sheet\_name in xls.sheet\_names:  
        sheet\_df = pd.read\_excel(xls, sheet\_name)  
        df = df.append(sheet\_df)  
        df.to\_excel(output\_file\_path, index=False)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这个Python脚本将来自Excel文件中多个工作表的数据合并到一个工作表中。

当您的数据分散在不同的工作表中,但希望将它们整合以进行进一步分析时,这非常方便。

六、与数据库交互

1.连接到数据库



\# Python脚本连接到数据库并执行查询  
import sqlite3  
def connect\_to\_database(database\_path):  
    connection = sqlite3.connect(database\_path)  
    return connection  
def execute\_query(connection, query):  
    cursor = connection.cursor()  
    cursor.execute(query)  
    result = cursor.fetchall()  
    return result


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这个Python脚本允许您连接到SQLite数据库并执行查询。

您可以通过使用适当的Python数据库驱动程序将其调整为与其他数据库管理系统(如MySQL或PostgreSQL)一起使用。

2.执行SQL查询



\# 在数据库上执行SQL查询的Python脚本  
import sqlite3  
def execute\_query(connection, query):  
    cursor = connection.cursor()  
    cursor.execute(query)  
    result = cursor.fetchall()  
    return result


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这个Python脚本是一个通用的函数,用于在数据库上执行SQL查询。

您可以将查询作为参数传递给该函数,并与数据库连接对象一起使用,它将返回查询的结果。

3.数据备份和恢复



import shutil  
def backup\_database(database\_path, backup\_directory):  
    shutil.copy(database\_path, backup\_directory)  
def restore\_database(backup\_path, database\_directory):  
    shutil.copy(backup\_path, database\_directory)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这个Python脚本允许您在需要时创建数据库备份并恢复它们。这是一项预防措施,用于保护您的宝贵数据免受意外丢失。

Python是当下最大众化的编程语言但其基本概念、基础知识还是比较多的,对于小白来说,一时间要掌握这么多还是有些吃力,甚至学完就忘!

七、自动化图像编辑

1.图像调整大小和裁剪



\# Python脚本用于调整大小和裁剪图像  
from PIL import Image  
def resize\_image(input\_path, output\_path, width, height):  
    image = Image.open(input\_path)  
    resized\_image = image.resize((width, height), Image.ANTIALIAS)  
    resized\_image.save(output\_path)  
def crop\_image(input\_path, output\_path, left, top, right, bottom):  
    image = Image.open(input\_path)  
    cropped\_image = image.crop((left, top, right, bottom))  
    cropped\_image.save(output\_path)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

此Python脚本使用Python Imaging Library(PIL)来调整大小和裁剪图像。

它可以帮助准备不同显示分辨率或特定用途的图像。

2.向图像添加水印



\# Python脚本用于给图像添加水印  
from PIL import Image  
from PIL import ImageDraw  
from PIL import ImageFont  
def add\_watermark(input\_path, output\_path, watermark\_text):  
    image = Image.open(input\_path)  
    draw = ImageDraw.Draw(image)  
    font = ImageFont.truetype('arial.ttf', 36)  
    draw.text((10, 10), watermark\_text, fill=(255, 255, 255, 128), font=font)  
    image.save(output\_path)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这个Python脚本给图像添加水印。您可以自定义水印文本、字体和位置,以个性化您的图片。

3.创建图像缩略图



\# Python脚本用于创建图像缩略图  
from PIL import Image  
def create\_thumbnail(input\_path, output\_path, size=(128, 128)):  
    image = Image.open(input\_path)  
    image.thumbnail(size)  
    image.save(output\_path)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这个Python脚本从原始图像创建缩略图,可以用于生成预览图像或减小图像大小以便在网站上更快加载。

八、数据清洗和转换

1.从数据中删除重复项



\# Python脚本以从数据中删除重复项  
import pandas as pd  
def remove\_duplicates(data\_frame):  
    cleaned\_data = data\_frame.drop\_duplicates()  
    return cleaned\_data


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这个Python脚本利用pandas从数据集中删除重复行。这是一种简单而有效的方法,可以确保数据完整性并改善数据分析。

2.数据规范化



\# 数据归一化的Python脚本  
import pandas as pd  
def normalize\_data(data\_frame):  
    normalized\_data = (data\_frame - data\_frame.min()) / (data\_frame.max() - data\_frame.min())  
    return normalized\_data


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这个Python脚本使用最小-最大归一化技术对数据进行规范化。

它将数据集中的值缩放到0和1之间的范围,使得比较不同特征更加容易。

3.处理缺失值



\# 处理数据中缺失值的Python脚本  
import pandas as pd  
def handle\_missing\_values(data\_frame):  
    filled\_data = data\_frame.fillna(method='ffill')  
    return filled\_data


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这个 Python 脚本使用 pandas 处理数据集中的缺失值。

它使用前向填充方法,将缺失值填充为前一个非缺失值。

九、自动化PDF操作

1.从PDF中提取文本



\# 从PDF中提取文本的Python脚本  
import PyPDF2  
def extract\_text\_from\_pdf(file\_path):  
    with open(file\_path, 'rb') as f:  
        pdf\_reader = PyPDF2.PdfFileReader(f)  
        text = ''  
        for page\_num in range(pdf\_reader.numPages):  
            page = pdf\_reader.getPage(page\_num)  
            text += page.extractText()  
        return text


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这个Python脚本使用PyPDF2库从PDF文件中提取文本。

它读取PDF的每一页,并将提取的文本编译成一个字符串。

2.合并多个PDF文件



\# 将多个PDF合并为一个PDF的Python脚本  
import PyPDF2  
def merge\_pdfs(input\_paths, output\_path):  
    pdf\_merger = PyPDF2.PdfMerger()  
    for path in input\_paths:  
        with open(path, 'rb') as f:  
            pdf\_merger.append(f)  
    with open(output\_path, 'wb') as f:  
        pdf\_merger.write(f)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这个Python脚本将多个PDF文件合并成一个单独的PDF文档。

它非常方便,可以将独立的PDF报告、演示文稿或其他文档合并为一个统一的文件。

3.添加密码保护



\# Python脚本用于为PDF添加密码保护。  
import PyPDF2  
def add\_password\_protection(input\_path, output\_path, password):  
    with open(input\_path, 'rb') as f:  
        pdf\_reader = PyPDF2.PdfFileReader(f)  
        pdf\_writer = PyPDF2.PdfFileWriter()  
        for page\_num in range(pdf\_reader.numPages):  
            page = pdf\_reader.getPage(page\_num)  
            pdf\_writer.addPage(page)  
            pdf\_writer.encrypt(password)  
    with open(output\_path, 'wb') as output\_file:  
        pdf\_writer.write(output\_file)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

此Python脚本为PDF文件添加密码保护。

它使用密码对PDF进行加密,确保只有拥有正确密码的人才能访问内容。

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/946759

推荐阅读
相关标签