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

您所在的位置:网站首页 js脚本应用实例有哪些类型的软件 【实用原创】20个Python自动化脚本,解放双手、事半功倍

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

2024-07-16 01:58:55| 来源: 网络整理| 查看: 265

在当今的快节奏工作环境中,自动化不再是一种奢侈,而是提高效率和精确性的必需手段。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 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

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

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末 👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费】



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭