【实用原创】20个Python自动化脚本,解放双手、事半功倍

14个Python自动化实战脚本 利用BeautifulSoup和requests库,编写Python爬虫获取所需网页信息。在工作中,我们常常需要对大量文件进行批量重命名,Python帮你轻松搞定!告别手动发送,用Python编写定时发送邮件的自动化脚本。简化数据库管理,Python帮你自动化执行CRUD操作。通过Python解析日志文件,提取关键信息进行统计分析。使用Python调度库,实现定时执行任务的自动化脚本。使用Pandas库,实现复杂数据处理和清洗的自动化。通过Python解析邮件,自动化下载所有附件。 阅读详情

在当今的快节奏工作环境中,自动化不再是一种奢侈,而是提高效率和精确性的必需手段。Python,以其易于学习和强大的功能而闻名,成为实现各种自动化任务的理想选择。无论是数据处理、报告生成,还是日常的文件管理,一个简单但有效的Python脚本就能大幅减轻您的工作负担。在本文中,我们将探索如何使用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))  
  
# 调用函数,替换路径  
sort\_files('your\_directory\_path')  



这段代码包含一个名为sort_files的函数,它接受一个目录路径作为参数。函数遍历指定目录中的所有文件,并检查每个文件是否是一个常规文件(非目录等)。对于每个文件,它提取出文件的扩展名,创建一个以该扩展名命名的新目录(如果该目录不存在的话),然后将文件移动到新创建的对应扩展名的目录中。

移除空白的文档



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)  
  
# 替换下面的路径为自己想清理的目录的路径  
remove\_empty\_folders('your\_directory\_path')  



这段代码定义了一个名为remove_empty_folders的函数,它接受一个目录路径作为参数。函数使用os.walk遍历给定目录及其所有子目录。os.walk函数以topdown=False的方式执行,这意味着遍历将从目录树的最底层开始,确保在删除空目录之前已处理了所有子目录。

对于每个找到的目录,代码检查该目录是否为空(即不包含任何文件或子目录)。如果是空目录,它就使用os.rmdir函数将其删除。

多个文件的重命名



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))  
  
# 替换下面的路径和名称  
# 例如 directory\_path: 您要重命名文件的目录路径  
rename\_files('your\_directory\_path', 'old\_name', 'new\_name')  



这段代码定义了一个名为rename_files的函数,它接受三个参数:要处理的目录的路径、需要被替换的旧名称、以及新名称。该函数遍历指定目录中的所有文件,检查每个文件名是否包含旧名称。如果包含,它会用str.replace方法生成一个新的文件名,然后使用os.rename方法将文件重命名。

Excel办公自动化软件

读取和写入



import pandas as pd  
  
def read\_excel(file\_path):  
    # 读取Excel文件  
    df = pd.read\_excel(file\_path)  
    return df  
  
def write\_to\_excel(data, file\_path):  
    # 将数据写入Excel文件  
    df = pd.DataFrame(data)  
    df.to\_excel(file\_path, index=False)  
  
# 读取Excel文件  
dataframe = read\_excel('path\_to\_your\_input\_file.xlsx')  
  
# 将修改后的数据写入新的Excel文件  
write\_to\_excel(dataframe, 'path\_to\_your\_output\_file.xlsx')  



我们主要是调用pandas模块中的read_excel函数接受一个文件路径作为参数并且读取Excel文件,并将其作为DataFrame返回。write_to_excel函数则接受一个数据集和一个输出文件路径,将数据集转换为DataFrame,然后使用to_excel方法写入Excel文件。在to_excel方法中,index=False参数表示在输出的Excel文件中不包括行索引。

合并多个工作表



import pandas as pd  
  
def merge\_sheets(file\_path, output\_file\_path):  
    # 打开Excel文件  
    xls = pd.ExcelFile(file\_path)  
    # 创建一个空的DataFrame  
    df = pd.DataFrame()  
  
    # 遍历所有工作表  
    for sheet\_name in xls.sheet\_names:  
        # 读取每个工作表  
        sheet\_df = pd.read\_excel(xls, sheet\_name)  
        # 将每个工作表的数据追加到df中  
        df = df.append(sheet\_df, ignore\_index=True)  
  
    # 将合并后的数据写入新的Excel文件  
    df.to\_excel(output\_file\_path, index=False)  
  
# 替换为自己的文件路径  
merge\_sheets('path\_to\_your\_excel\_file.xlsx', 'path\_to\_your\_output\_file.xlsx')  



这段代码定义了一个名为merge_sheets的函数,它接受原始Excel文件的路径和输出文件的路径作为参数。函数首先使用pd.ExcelFile读取Excel文件,并创建一个空的DataFrame。然后,它遍历该Excel文件中的所有工作表,使用pd.read_excel逐个读取它们,并通过append方法将每个工作表的数据追加到之前创建的空DataFrame中。这里使用了ignore_index=True,意味着在合并数据时会重新生成索引。

最后,使用to_excel方法将合并后的数据保存到一个新的Excel文件中。在这个方法中,index=False参数表示在输出文件中不包括行索引。

图片处理

图片的修剪



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)  
  
# 替换为自己的文件路径和参数  
resize\_image('path\_to\_input\_image.jpg', 'path\_to\_resized\_image.jpg', 800, 600)  
crop\_image('path\_to\_input\_image.jpg', 'path\_to\_cropped\_image.jpg', 100, 100, 400, 400)  



在resize_image函数中,它接受输入路径、输出路径、以及新图片的宽度和高度作为参数。该函数使用PIL库打开图片,然后调用resize方法将图片大小调整为指定的宽度和高度。

crop_image函数接受输入路径、输出路径,以及裁剪区域的左、上、右、下四个坐标作为参数。该函数同样使用PIL库打开图片,然后使用crop方法根据提供的坐标裁剪图片。

添加水印



from PIL import Image, ImageDraw, ImageFont  
  
def add\_watermark(input\_path, output\_path, watermark\_text):  
    # 打开图片  
    image = Image.open(input\_path)  
    # 准备绘制对象  
    draw = ImageDraw.Draw(image)  
    # 设置字体(这里使用Arial,大小为36)  
    font = ImageFont.truetype('arial.ttf', 36)  
    # 在图片上添加水印文字  
    draw.text((10, 10), watermark\_text, fill=(255, 255, 255, 128), font=font)  
    # 保存带有水印的图片  
    image.save(output\_path)  
  
# 替换为自己的文件路径和水印文本  
add\_watermark('path\_to\_input\_image.jpg', 'path\_to\_watermarked\_image.jpg', 'Your Watermark Text')  



这段代码定义了一个名为add_watermark的函数,它接受输入图片的路径、输出图片的路径和水印文本作为参数。该函数首先使用PIL库打开图片,然后创建一个ImageDraw对象以便在图片上绘制文本。接下来,设置字体(本例中使用Arial字体,字号为36),并使用draw.text方法将水印文本绘制到图片上。最后,保存带有水印的图片到指定的输出路径。

创建缩略图



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)  
  
# 替换为自己的文件路径  
create\_thumbnail('path\_to\_input\_image.jpg', 'path\_to\_thumbnail\_image.jpg')  



在这段代码中,create_thumbnail函数接受三个参数:输入图片的路径、输出图片的路径,以及缩略图的尺寸(默认为128x128像素)。函数使用PIL库打开原始图片,然后调用thumbnail方法来创建缩略图。

系统任务

系统进程管理



import psutil  
  
def get\_running\_processes():  
    # 获取当前运行的进程信息  
    return \[p.info for p in psutil.process\_iter(\['pid', 'name', 'username'\])\]  
  
def kill\_process\_by\_name(process\_name):  
    # 遍历当前运行的进程  
    for p in psutil.process\_iter(\['pid', 'name', 'username'\]):  
        # 如果进程名匹配,则终止进程  
        if p.info\['name'\] == process\_name:  
            p.kill()  
  
# 获取运行中的进程列表  
running\_processes = get\_running\_processes()  
  
# 杀死指定名称的进程(请谨慎使用)  
# kill\_process\_by\_name('process\_name\_here')  



在get_running_processes函数中,使用psutil.process_iter方法来迭代当前运行的所有进程,并获取每个进程的pid(进程ID)、name(进程名)和username(运行该进程的用户)。这些信息被收集在一个列表中并返回。

kill_process_by_name函数也使用psutil.process_iter来遍历所有进程,但它检查每个进程的名称是否与给定的process_name相匹配。如果找到匹配的进程,它使用kill方法终止该进程。

PDF文件操作

多个PDF文件合并



import PyPDF2  
  
def merge\_pdfs(input\_paths, output\_path):  
    # 创建PDF合并器对象  
    pdf\_merger = PyPDF2.PdfMerger()  
      
    # 遍历所有输入路径并添加到合并器  
    for path in input\_paths:  
        with open(path, 'rb') as f:  
            pdf\_merger.append(f)  
      
    # 将合并后的PDF写入输出文件  
    with open(output\_path, 'wb') as f:  
        pdf\_merger.write(f)  
  
# 替换为自己的PDF文件路径  
input\_pdf\_paths = \['pdf1.pdf', 'pdf2.pdf', 'pdf3.pdf'\]  
output\_pdf\_path = 'merged.pdf'  
merge\_pdfs(input\_pdf\_paths, output\_pdf\_path)  



在这个脚本中,merge_pdfs函数接受两个参数:一个包含要合并的PDF文件路径的列表input_paths和一个输出文件路径output_path。函数首先创建了一个PyPDF2.PdfMerger对象,然后逐个打开输入列表中的PDF文件,并使用append方法将它们添加到合并器中。最后,使用write方法将合并后的PDF输出到指定的文件路径。

PDF文件密码保护



import PyPDF2  
  
def add\_password\_protection(input\_path, output\_path, password):  
    # 打开要加密的PDF文件  
    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文件设置密码  
        pdf\_writer.encrypt(password)  
  
        # 写入加密后的PDF到输出文件  
        with open(output\_path, 'wb') as output\_file:  
            pdf\_writer.write(output\_file)  
  
# 请替换为自己的文件路径和密码  
input\_pdf\_path = 'input.pdf'  
output\_pdf\_path = 'protected.pdf'  
password = 'your\_password'  
add\_password\_protection(input\_pdf\_path, output\_pdf\_path, password)  



在这段代码中,add_password_protection函数接受输入文件路径input_path、输出文件路径output_path和密码password作为参数。它首先打开输入的PDF文件,使用PyPDF2.PdfFileReader读取PDF内容。然后,创建一个PyPDF2.PdfFileWriter对象,将从读取器对象中获取的所有页面添加到写入器对象中。使用encrypt方法为PDF设置密码。最后,将加密后的PDF内容写入到输出文件中。

学习资源推荐

除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

这里给大家展示一下我进的兼职群和最近接单的截图

兼职群

私单

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取,也可以内推兼职群哦~

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

1.Python学习路线

image-20230619144606466

python学习路线图1

2.Python基础学习

01.开发工具

02.学习笔记

在这里插入图片描述

03.学习视频

在这里插入图片描述

3.Python小白必备手册

图片

4.数据分析全套资源

在这里插入图片描述

5.Python面试集锦

01.面试资料

在这里插入图片描述

在这里插入图片描述

02.简历模板

在这里插入图片描述

因篇幅有限,仅展示部分资料,添加上方即可获取👆

------ 🙇‍♂️ 本文转自网络,如有侵权,请联系删除 🙇‍♂️ ------
​十个常见的 Python 脚本 (详细介绍 + 代码举例) 介绍: 该脚本用于批量重命名指定目录下的文件,例如将所有 ".txt" 文件重命名为 ".md" 文件。介绍: 该脚本用于爬取网页数据,例如新闻标题、商品价格等,并可以将数据保存到本地或数据库。介绍: 该脚本用于数据可视化,例如绘制图表、生成报表等,可以更直观地展示数据。介绍: 该脚本用于读取 CSV 文件,并可以根据需要对数据进行处理和分析。介绍: 该脚本用于发送邮件通知,例如在脚本执行完毕后发送邮件通知管理员。介绍: 该脚本用于将数据写入 CSV 文件,可以用于数据存储和导出。 阅读详情

相关推荐

Python保姆级教程(九):自动化脚本编写

《Python自动化脚本实战指南》是一本系统讲解如何使用Python编写自动化脚本的实用教程。全书从基础概念入手,详细介绍了文件操作、系统交互、网络请求、定时任务等核心技能,并通过多个实战案例(批量文件重命名、自动备份、网站监控、Excel数据处理)展示自动化脚本的具体应用。教程还包含脚本部署指南(Windows任务计划/Linux crontab)和编写技巧(异常处理、日志记录等),帮助读者快速掌握用Python提升工作效率的方法。无论是编程新手还是开发者,都能通过本教程学会用代码解放双手,实现重复性任务

分享知识,拥抱变化 2233

10个常用Python自动化脚本

大家好,Python凭借其简单和通用性,能够为解决每天重复同样的工作提供最佳方案。本文将探索10个Python脚本,这些脚本可以帮助自动化完成任务,提高工作效率。无论是开发者、数据分析师还是仅仅想简化工作流程的普通用户,这些脚本都能提供帮助。

csdn1561168266的博客 4万+

【Python】20个Python自动化脚本,解放双手、事半功倍

的函数,它接受一个目录路径作为参数。对于每个文件,它提取出文件的扩展名,创建一个以该扩展名命名的新目录(如果该目录不存在的话),然后将文件移动到新创建的对应扩展名的目录中。的函数,它接受三个参数:要处理的目录的路径、需要被替换的旧名称、以及新名称。函数接受三个参数:输入图片的路径、输出图片的路径,以及缩略图的尺寸(默认为128x128像素)。的函数,它接受输入图片的路径、输出图片的路径和水印文本作为参数。函数中,它接受输入路径、输出路径、以及新图片的宽度和高度作为参数。的函数,它接受一个目录路径作为参数。

wjianwei666的专栏 1261

6个实用的 Python 自动化脚本,让你每天轻轻松松

每天你都可能会执行许多重复的任务,例如阅读 pdf、播放音乐、查看天气、打开书签、清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便。而在某种程度上,Python 就是自动化的代名词。今天分享 6 个非常有用的 Python 自动化脚本。

WANGJUNAIJIAO的博客 5733

Python脚本自动化芯片设计?PyAether实战教程带你玩转EDA

本文通过PyAether实战教程,详细介绍了如何利用Python脚本实现芯片设计自动化。内容涵盖环境搭建、核心对象模型解析,并重点演示了原理图自动生成、参数化单元创建及设计验证流程集成,帮助EDA工程师从重复性手动操作中解放,显著提升设计效率与一致性。

e4f5g6h的博客 1316

ss524v100 调试cvbs输出

启用视频层3 dev2 对应 layer3在vdec与vo绑定的时候(不需要经过vpss),不能绑定错误,以下是绑定的程序。

2116

【Python入门】20个Python自动化脚本,解放双手、事半功倍

如果你正在学习Python,那么你需要的话可以,点击这里👉在当今的快节奏工作环境中,自动化不再是一种奢侈,而是提高效率和精确性的必需手段。Python,以其易于学习和强大的功能而闻名,成为实现各种自动化任务的理想选择。无论是数据处理、报告生成,还是日常的文件管理,一个简单但有效的Python脚本就能大幅减轻您的工作负担。在本文中,我们将探索如何使用Python来创建多个自动化脚本,它不仅能够节省您的时间,还可以提高工作的准确率和效率。我们先来看第一个自动化脚本。

2301_78150559的博客 6810

中国IP发展之面面观

谢学军/邱善勤2006-1-25 9:29:28电子经理世界       IP远没有我们当初想象的那么简单   当SoC设计方法学刚刚传到国内的时候,学界为之欢呼雀跃,由于IP/SoC设计技术的使用,可以将发达国家用几年甚至十几年积累起来的设计技术直接为我所用,使中国的集成电路跳过漫长的积累阶段,迅速站到较高的起点上。因此在当时看来,IP/SoC设计技术是我国提升设计水平、发展

klxdmm305的专栏 1188

提示工程资源调配自动化:架构师教你用脚本解放双手

用脚本把"提示资源调配"变成自动化流水线。想象这样一个系统:你只需在配置文件里写清楚"任务类型、目标模型、参数规则、输入路径、输出路径",点击运行脚本,剩下的事情交给机器——它会自动读取输入数据、匹配模型API、注入动态参数、调用模型、处理返回结果、记录日志、生成报告,甚至在API调用失败时自动重试,在资源紧张时按优先级排队。解放双手:把重复的"复制-粘贴-填写参数"变成一行代码降低错误:用脚本校验替代人工检查,参数错误率从15%降至0.3%提升效率。

项目管理的博客 821

别再花屏了!手把手教你用STM32CubeIDE搞定LVGL 8.3移植(附完整源码)

本文详细介绍了如何在STM32CubeIDE环境下成功移植LVGL 8.3,解决常见的花屏问题。从环境配置、显示驱动优化到编译警告处理,提供完整的实战方案和源码示例,帮助开发者快速实现流畅的嵌入式GUI界面。特别针对STM32平台的DMA2D加速和内存管理进行了深度优化。

weixin_33739646的博客 243

Mac终端SSH连接腾讯云服务器保姆级教程(附秘钥管理技巧)

本文提供Mac终端SSH连接腾讯云服务器的详细教程,涵盖密钥生成、权限设置、连接优化及高级管理技巧。通过清晰的步骤和实用配置,帮助用户安全高效地管理远程服务器连接,特别适合开发者和运维人员参考。

weixin_29248313的博客 456

Python办公利器:Python-docx,解放双手、事半功倍!!

在处理文档时,我们经常需要一个能够自动化处理Word文档的工具,特别是当涉及到批量生成、修改或分析大量文档时。在Python的丰富生态系统中,python-docx模块应运而生,提供了一个强大的接口来创建和修改Word文档。这个库使得使用Python编程语言进行Word文档处理变得既简单又高效。在本文中,我们将深入探索python-docx的核心功能,介绍如何安装和配置这个库,以及通过实际示例演示...

weixin_43373042的博客 1451

商店销售预测(回归&随机森林)

通过准备线性回归的数据,我们发现了一些有趣的见解,包括周末的销售增长,公共部门支付工资时的销售增长,以及11月和12月的销售增长。如果我们选择包括这些,我们可能会得到更好的结果,但在这个时候,我们不会用它来做任何预测,而是将转向另一种可能给我们更好的结果的技术。在Kaggle竞赛中,要求我们应用时间序列预测,根据厄瓜多尔大型杂货零售商Corporación Favorita的数据预测商店销售情况,建立一个模型,准确地预测在不同商店销售的商品的单位销量。在快速查看我们的训练数据集之后,我们可以看到有很多零。

qq_45791012的博客 4750

易班自动化终极指南:5分钟配置解放双手的完整解决方案

还在为每天重复登录易班、手动签到而烦恼吗?传统的人工操作不仅耗时耗力,还容易因为遗忘而错过签到时间。现在,有了这款易班自动化工具,你只需5分钟配置,就能彻底告别繁琐的手动操作,实现真正的"设置一次,自动运行"! ## 痛点共鸣:为什么你需要易班自动化工具? 每天登录易班签到、刷EGPA分数、查看通知……这些重复性操作占用了你宝贵的学习和生活时间。更糟糕的是,一旦忘记签到,就会影响你的活跃度记录

gitblog_00379的博客 563

【NVIDIA】Jetson Orin Nano系列:烧写Ubuntu22.04

Jeson Orin Nano系列:烧写Ubuntu22.04 电脑主机可以是Ubuntu20.04

郭老二 4895

AIGC时代的必备技能:提示词工程(Prompt Engineering)全面指南

本文主要介绍了AIGC时代的重要技能——提示词工程(Prompt Engineering)。文章首先定义了提示词的概念,强调其作为人类与AI沟通桥梁的重要性,并详细阐述了提示词的功能特性,包括输入、大模型处理和输出三个环节。接着,文章探讨了提示工程的重要性,如提高输出质量、节省资源和时间等。随后,文章深入分析了提示词的基本构成要素,包括指令、上下文、输入数据和输出指示符,并提出了提示词的五大基本原则:清晰性与具体性、提供充足的上下文、明确任务与目标、考虑受众和迭代思维。最后,文章介绍了提示词的七大常见技巧

weixin_43178406的博客 27万+
上一篇: pycharm2023汉化及常用插件安装及配置
下一篇: Python编程的十大神奇依赖库
大模型应用场景
博客等级 码龄5年 7648粉丝 1350原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值