Python 自动化办公的 10 大脚本
大家好,我是你们的 Python 讲师!今天我们将讨论 10 个实用的 Python 自动化办公脚本。这些脚本可以帮助你简化日常工作,提高效率。无论是处理 Excel 文件、发送邮件,还是自动化网页操作,Python 都能派上用场。
1. 批量重命名文件
如果你需要对一堆文件进行重命名,比如给文件添加前缀或后缀,可以使用以下脚本:
import osdef batch_rename_files(directory, prefix):"""批量重命名指定目录下的所有文件,添加前缀"""for filename in os.listdir(directory):new_name = f"{prefix}_{filename}"os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))print("文件重命名完成")# 使用示例
batch_rename_files('path/to/your/directory', 'new_prefix')
说明:此脚本遍历指定目录中的所有文件,并为每个文件添加指定的前缀。
2. 自动发送电子邮件
使用 smtplib 库,你可以轻松实现自动发送电子邮件的功能。
import smtplib
from email.mime.text import MIMETextdef send_email(subject, body, to_email):"""发送电子邮件"""from_email = 'your_email@example.com'password = 'your_email_password'# 创建邮件内容msg = MIMEText(body)msg['Subject'] = subjectmsg['From'] = from_emailmsg['To'] = to_email# 发送邮件with smtplib.SMTP_SSL('smtp.example.com', 465) as server:server.login(from_email, password)server.send_message(msg)print("邮件发送成功")# 使用示例
send_email("测试主题", "这是一封测试邮件", "recipient@example.com")
说明:确保替换邮件地址和 SMTP 服务器信息,以使其适应你的邮箱设置。
3. 批量处理 Excel 文件
使用 pandas 和 openpyxl 库,可以轻松读取和写入 Excel 文件。
import pandas as pddef process_excel(file_path):"""读取 Excel 文件并处理数据"""df = pd.read_excel(file_path) # 读取 Excel 文件df['新列'] = df['原列'] * 2 # 在 DataFrame 中添加新列df.to_excel('processed_file.xlsx', index=False) # 保存处理后的结果print("Excel 文件处理完成")# 使用示例
process_excel('path/to/your/excel_file.xlsx')
说明:此脚本读取指定的 Excel 文件,对其中一列的数据进行简单的数学运算,然后保存处理后的结果到新的 Excel 文件中。
4. 网页抓取数据
使用 requests 和 BeautifulSoup,可以轻松从网页抓取数据。
import requests
from bs4 import BeautifulSoupdef fetch_data(url):"""从指定 URL 抓取数据"""response = requests.get(url)soup = BeautifulSoup(response.content, 'html.parser')titles = [title.get_text() for title in soup.find_all('h2')] # 假设标题在 <h2> 标签中print("抓取到的标题:")for title in titles:print(title)# 使用示例
fetch_data('https://example.com')
说明:该脚本访问指定的 URL,解析 HTML 内容,并提取所有 <h2> 标签内的文本。
5. 文件备份
这个脚本可以帮助你快速备份指定目录中的文件。
import shutil
import os
import datetimedef backup_files(source_directory, backup_directory):"""备份文件到指定目录"""date_str = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")backup_path = os.path.join(backup_directory, f"backup_{date_str}")shutil.copytree(source_directory, backup_path) # 复制整个目录print(f"备份完成: {backup_path}")# 使用示例
backup_files('path/to/source_directory', 'path/to/backup_directory')
说明:该脚本使用 shutil.copytree() 方法复制源目录中的所有文件到备份目录。
6. 自动生成报告
如果你需要根据数据生成报告,可以使用 pandas 来处理数据并生成 PDF 或 Excel 格式的报告。
import pandas as pddef generate_report(data):"""根据数据生成简单的 Excel 报告"""df = pd.DataFrame(data)df.to_excel('report.xlsx', index=False)print("报告已生成: report.xlsx")# 使用示例
data = {'姓名': ['张三', '李四'],'分数': [90, 85]
}
generate_report(data)
说明:该脚本将样本数据转换为一个 Excel 文件。
7. 图片批量处理
使用 Pillow 库,可以批量处理图片,例如调整大小或格式转换。
from PIL import Image
import osdef resize_images(source_directory, output_directory, size=(800, 800)):"""调整指定目录下所有图片的大小"""if not os.path.exists(output_directory):os.makedirs(output_directory)for filename in os.listdir(source_directory):if filename.endswith(('.png', '.jpg', '.jpeg')):img_path = os.path.join(source_directory, filename)img = Image.open(img_path)img = img.resize(size)img.save(os.path.join(output_directory, filename))print(f"已调整大小并保存: {filename}")# 使用示例
resize_images('path/to/source_images', 'path/to/output_images', (800, 800))
说明:该脚本遍历指定目录,调整每张图片的大小并保存到输出目录。
8. 数据库操作
使用 sqlite3 库,可以方便地与 SQLite 数据库进行交互。
import sqlite3def create_table():"""创建一个简单的SQLite表"""conn = sqlite3.connect('example.db')cursor = conn.cursor()cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')conn.commit()conn.close()print("表创建成功")# 使用示例
create_table()
说明:此脚本连接到 SQLite 数据库并创建一个用户表。
9. 自动化日程提醒
可以使用 schedule 库设置定时任务,比如每天发送提醒邮件。
import schedule
import timedef job():print("这是您的日程提醒!请记得查看日程安排。")# 设置每天的提醒时间
schedule.every().day.at("10:00").do(job)while True:schedule.run_pending()time.sleep(1)
说明:该脚本每天下午 10 点执行预定的提醒任务。
10. 网络监控
可以编写一个简单的脚本来监控特定网站的状态,确保它们正常运行。
import requestsdef check_website(url):"""检查网站是否正常"""try:response = requests.get(url)if response.status_code == 200:print(f"{url} 正常运行")else:print(f"{url} 返回状态码: {response.status_code}")except requests.exceptions.RequestException as e:print(f"访问 {url} 时发生错误: {e}")# 使用示例
check_website('https://example.com')
说明:该脚本尝试访问指定的网站,并根据响应状态码判断网站是否正常运行。
总结
以上就是 Python 自动化办公的 10 大脚本。这些脚本可以帮助你简化日常工作,提高生产力。掌握这些基本技能后,你将能够更高效地处理各种办公任务。如果你有任何问题或者想要讨论的内容,欢迎在评论区留言!
希望这篇文章能为你的 Python 编程之路提供帮助!下次再见!
全套Python学习资料分享:
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
三、python入门资料大全
四、python进阶资料大全
五、python爬虫专栏
六、入门学习视频全套
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
七、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
八、python最新面试题
相关文章:
Python 自动化办公的 10 大脚本
大家好,我是你们的 Python 讲师!今天我们将讨论 10 个实用的 Python 自动化办公脚本。这些脚本可以帮助你简化日常工作,提高效率。无论是处理 Excel 文件、发送邮件,还是自动化网页操作,Python 都能派上用场。 1. 批量…...
Python蒙特卡罗MCMC:优化Metropolis-Hastings采样策略Fisher矩阵计算参数推断应用—模拟与真实数据...
全文链接:https://tecdat.cn/?p38397 本文介绍了其在过去几年中的最新开发成果,特别阐述了两种有助于提升 Metropolis - Hastings 采样性能的新要素:跳跃因子的自适应算法以及逆 Fisher 矩阵的计算,该逆 Fisher 矩阵可用作提议密…...
成绩排序
成绩排序 C语言代码C 代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。 输入 第一行为…...
MySQL底层概述—7.优化原则及慢查询
大纲 1.Explain概述 2.Explain详解 3.索引优化数据准备 4.索引优化原则详解 5.慢查询设置与测试 6.慢查询SQL优化思路 1.Explain概述 使用Explain关键字可以模拟查询优化器来执行SQL查询语句,从而知道MySQL是如何处理SQL语句的,从而分析出查询语句…...
R““有什么作用在C++中,举例说明
在C中,R""(双引号前加R)表示一个原始字符串字面量(Raw String Literal),其主要作用是让字符串中的反斜杠\和其他特殊字符不被当作转义字符处理,而是保留其原始字面意义。这在处理包含…...
linux中top 命令返回数据解释
当您在 Linux 终端中运行 top 命令时,它会显示一个动态更新的系统状态视图,其中包括许多有关系统性能的数据。下面是对 top 命令返回数据的详细解释: 标题栏 top - 22:46:12 up 2 days, 3:14, 1 user, load average: 0.05, 0.07, 0.09 22:46:12:当前时间。up 2 days, 3:14…...
深入理解二叉树及其变体:平衡二叉树、红黑树、B-树和B+树
一、二叉树简介 二叉树是一种非常常见的数据结构,它具有以下特点: 每个节点最多有两个子节点,分别称为左子节点和右子节点。每个节点的左子树和右子树都是二叉树。 二叉树的常见操作包括:创建、插入、删除、查找、遍历等。下面…...
C++ 编程技巧之StrongType(1)
最近看到一个NamedType的开源库,被里面的Strong Type这个概念和里面的模版实现给秀了一脸,特此总结学习一下 GitHub - joboccara/NamedType: Implementation of strong types in C C本身是一种强类型语言,类型包括int、double等这些build i…...
芯片测试-smith圆图
smith圆图 💢smith圆图的故事💢💢smith圆图中的各部分来历💢💢公式推导💢💢等电阻圆特点💢💢等电抗圆💢💢等电抗圆特点💢 Ὂ…...
HTML技术深度解析:构建现代网页的基石
引言 HTML(HyperText Markup Language,超文本标记语言)是构建网页和网上应用的标准标记语言。随着互联网技术的飞速发展,HTML已经成为前端开发中不可或缺的核心技术之一。本文将深入探讨HTML的基本概念、核心元素、最新发展以及在…...
Leecode刷题C语言之判断是否可以赢得数字游戏
执行结果:通过 执行用时和内存消耗如下: bool canAliceWin(int* nums, int numsSize) {int single_digit_sum 0;int double_digit_sum 0;for (int i 0; i < numsSize; i) {if (nums[i] < 10) {single_digit_sum nums[i];} else {double_digit_sum nums[…...
Ubuntu 关机命令
在 Ubuntu 系统中,有几种方法可以关机。以下是常用的关机命令及其说明: 1. 使用 shutdown 命令 shutdown 命令是最常用和最灵活的关机方式。它可以设置定时关机,并且可以发送警告消息给所有登录用户。 立即关机 sudo shutdown now定时关机…...
数据采集中,除了IP池的IP被封,还有哪些常见问题?
在数据采集的过程中,代理IP池的使用无疑为我们打开了一扇通往信息宝库的大门。然而,除了IP被封禁这一常见问题外,还有许多其他问题可能影响数据采集的效果。本文将探讨在数据采集中,除了IP被封之外,还可能遇到的一些常…...
【Anaconda】 创建环境报错:CondaHTTPError: HTTP 000 CONNECTION FAILED for url
问题描述 使用 Anaconda 创建环境时报错: CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/free/noarch/repodata.json.bz2> Elapsed: -An HTTP error occurred when trying to retrieve this URL. HTTP errors are o…...
社交电商破局之“2+1 链动模式 O2O 商城小程序源码”赋能流量困境突围
摘要:本文聚焦于当下商家在流量困境中挣扎的现状,剖析传统电商高流量成本、平台流量获取难等痛点,阐述私域流量池兴起的缘由与价值。重点探究“21 链动模式 O2O 商城小程序源码”如何融入社交电商架构,通过创新机制与线上线下融合…...
【ArcGIS Pro微课1000例】0062:ArcGIS Pro3.3.1中文版安装教程(附安装包下载)
本文讲述ArcGIS Pro3.3.1中文版安装教程(附安装包下载)。 文章目录 一、ArcGIS Pro3.3.1中文版下载二、ArcGIS Pro3.3.1中文版安装一、ArcGIS Pro3.3.1中文版下载 【订阅专栏】,获取完整安装包及专栏配套实验数据。下载后解压,如下图所示: 二、ArcGIS Pro3.3.1中文版安装…...
Linux - web服务器
四、web服务器 1、基础知识 URL:Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。 网址格式:<协议>://<主机或主机名&g…...
设计模式-适配器模式-注册器模式
设计模式-适配器模式-注册器模式 适配器模式 如果开发一个搜索中台,需要适配或接入不同的数据源,可能提供的方法参数和平台调用的方法参数不一致,可以使用适配器模式 适配器模式通过封装对象将复杂的转换过程隐藏于幕后。 被封装的对象甚至…...
减速机润滑油更换的最佳周期是多久?
减速机是工业设备中的重要组成部分,润滑油的使用对于其正常运转和寿命具有至关重要的作用。那么,减速机多久更换一次润滑油呢?实际上,减速机润滑油的更换周期受多种因素影响,以下是一些具体的更换周期建议:…...
程序执行堆栈执行模拟
所有的文件都是在硬盘(磁盘)上,调用时先调用javac指令的jdk编译成.class然后被java指令的jre送到内存中,java在内存中有自己的一片区域叫JVM,编译进来的文件首先进入方法区。 staitc的属性就是在进入内存的时候开辟了一…...
《Python基础》之数据加密模块hashlib的用法
目录 一、简介 二、用法 步骤一、导入hashlib库 步骤二、创建哈希对象 步骤三、往哈希对象中传值 1、可以在创建对象的时候传值 2、使用updata传值 步骤四、获取经过哈希对象加密后的值 三、注意事项 1、编码问题 2、安全性 3、多次传值 四、总结 一、简介 hashli…...
安装Fcitx5输入框架和输入法自动部署脚本(来自Mark24)-Ubuntu通用
在Ubuntu22.04上安装rime中文输入法的基本教程 上述文章接近废弃。 使用新逻辑配置基本的Fcitx5的输入法。 安装 第一步,下载相关组件 sudo nala install vim sudo nala install ruby sudo nala install fcitx5-rime第二步,设置语言为Fcitx5 而非 默认…...
【IMF靶场渗透】
文章目录 一、基础信息 二、信息收集 三、flag1 四、flag2 五、flag3 六、flag4 七、flag5 八、flag6 一、基础信息 Kali IP:192.168.20.146 靶机IP:192.168.20.147 二、信息收集 Nmap -sP 192.168.20.0/24 Arp-scan -l nmap -sS -sV -p- -…...
Zookeeper选举算法与提案处理概览
共识算法(Consensus Algorithm) 共识算法即在分布式系统中节点达成共识的算法,提高系统在分布式环境下的容错性。 依据系统对故障组件的容错能力可分为: 崩溃容错协议(Crash Fault Tolerant, CFT) : 无恶意行为,如进程崩溃,只要…...
深入了解 Adam 优化器对显存的需求:以 LLaMA-2 7B 模型为例 (中英双语)
中文版 深入了解 Adam 优化器对显存的额外需求:模型参数与优化器状态的显存开销分析 在深度学习模型的训练过程中,显存是一个关键的资源,尤其在处理大型语言模型或深度神经网络时。训练时的显存需求不仅包括模型参数本身,还涉及…...
数据分析学习
数据分析的定义 数据分析是通过对收集到的数据进行清理、转换、建模、分析和解释,从中提取有用的信息和洞察,以帮助做出更好的决策。数据分析可以应用于各种领域,比如商业、金融、医疗、市场营销等,目的是通过数据来发现模式、趋…...
PaddleOCR:一款高性能的OCR工具介绍
一、引言 随着人工智能技术的不断发展,光学字符识别(OCR)技术在各行各业得到了广泛应用。OCR技术能够将图片、扫描件等非结构化数据中的文字信息提取出来,转换为可编辑的文本格式。在我国,百度开源了一款优秀的OCR工具…...
Transformers快速入门代码解析(一):注意力机制——Attention:Scaled Dot-product Attention
Attention:Scaled Dot-product Attention 引言Scaled Dot-product Attention代码 引言 请注意!!!本博客使用了教程Transformers快速入门中的全部代码!!! 只在我个人理解的基础上为代码添加了注释…...
Git中HEAD、工作树和索引的区别
在Git版本控制系统中,HEAD、工作树(Working Tree)和索引(Index)是三个非常重要的概念,它们分别代表了不同的状态或区域,下面我将对这三个概念进行详细的解释。 HEAD 定义:HEAD是一…...
【python量化教程】如何使用必盈API的股票接口,获取最新实时交易数据
实时交易数据简介 股票实时交易数据涵盖股票价格、成交量、涨跌幅等多类信息。其在股票交易中极为关键,高速准确的数据对各方意义重大。投资者可借此及时捕捉机会、优化策略与降低风险;实时准确的实时交易数据是股票市场有效运转的核心要素之一。 使用…...
做网站建本地环境作用/seo网站推广的主要目的包括
前面说完了此项目的创建及数据模型设计的过程。如果未看过,可以到这里查看,并且项目源码已经放大到github上,可以去这里下载。代码也已经部署到sina sea上,地址为http://fengzheng.sinaapp.com/先跳过视图展示及表单处理的部分,先…...
黄岩做网站/平台推广方案
Spring AOP获取拦截方法的参数名称跟参数值注意:这种方式需要JDK1.8版本支持开始:1.aop配置: 注意该配置需要配置在spring mvc的配置文件中,因为需要拦截controller层方法或者在必须要配置在spring配置文件中的情况下,同时需要拦截controller层的方法,可以在spring配置文件中加…...
兰州网站seo服务/深圳网站建设推广方案
asp.net中word转html碰到的权限异常问题(转) 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪…...
重庆网站建设营销/站长统计app最新版本2023
本文要谈的IM通信协议指的是应用层通信“语言”,并非指传输层协议(如TCP、UDP)。IM通信协议的制定是IM开发中起点,也是贯穿设计、开发、运维始终的核心所在,通信协议设计的好坏,直接影响后绪环节的用户体验…...
网站服务器环境不支持mysql数据库/关键一招
环境 RedHat Linux 9 VWWare 8.0 SSH 3.2.9 Putty 0.62 MySQL 3.2 问题 通过JDBC连接MySQL,出现“读取 /usr/java/jdk1.6.0_27/jre/lib/ext/mysql-connector-java-3.2.0-alpha-bin.jar时出错cannot read zip file” 解决 换jar包。比如之前使用的mysql-conne…...
国内最大的自建站平台/百度健康
2019独角兽企业重金招聘Python工程师标准>>> 硬件内部计时器精度 US级别 #include<iostream> #include "functional" #include "windows.h" using namespace std;#include <WinBase.h> long long calculateMS(std::function<vo…...