Python自动化脚本指南(pythonui自动化脚本)
off999 2025-05-08 04:43 28 浏览 0 评论
以下是一个实用的 Python 自动化脚本指南,包含常见场景示例和分步说明:
一、环境准备
- 安装 Python (推荐 3.6+ 版本)
- 安装常用库:
bash
pip install requests beautifulsoup4 openpyxl python-docx schedule pyautogui
二、常见自动化场景示例
1. 文件管理自动化
python
import os
import shutil
from pathlib import Path
# 自动整理下载文件夹
DOWNLOADS = Path.home() / "Downloads"
# 按扩展名创建目录
CATEGORIES = {
"Images": [".jpg", ".png", ".gif"],
"Documents": [".pdf", ".docx", ".txt"],
"Archives": [".zip", ".rar"]
}
for file in DOWNLOADS.iterdir():
if file.is_file():
for category, exts in CATEGORIES.items():
if file.suffix.lower() in exts:
dest = DOWNLOADS / category
dest.mkdir(exist_ok=True)
shutil.move(str(file), str(dest))
break
2. 网页数据抓取
python
import requests
from bs4 import BeautifulSoup
def get_weather(city="beijing"):
url = f"https://www.tianqi.com/{city}/"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
weather_info = {
"city": soup.find('dd', class_='name').h2.text,
"temp": soup.find('p', class_='now').b.text,
"status": soup.find('span', class_='text').text
}
return weather_info
print(get_weather("shanghai"))
3. Excel 报表自动化
python
from openpyxl import Workbook
from datetime import datetime
def create_report(data):
wb = Workbook()
ws = wb.active
ws.title = "销售报告"
# 添加标题行
headers = ["日期", "产品", "销售额"]
ws.append(headers)
# 填充数据
for row in data:
ws.append(row)
# 自动调整列宽
for col in ws.columns:
max_length = 0
for cell in col:
try:
if len(str(cell.value)) > max_length:
max_length = len(cell.value)
except:
pass
adjusted_width = (max_length + 2) * 1.2
ws.column_dimensions[col[0].column_letter].width = adjusted_width
filename = f"report_{datetime.now().strftime('%Y%m%d')}.xlsx"
wb.save(filename)
# 示例数据
sales_data = [
["2023-08-01", "产品A", 15000],
["2023-08-01", "产品B", 23000],
["2023-08-02", "产品A", 18000]
]
create_report(sales_data)
4. 邮件自动化
python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import getpass
def send_email(subject, body, to_email):
# 配置信息
email = "your_email@example.com"
password = getpass.getpass("输入邮箱密码:")
# 创建邮件
msg = MIMEMultipart()
msg['From'] = email
msg['To'] = to_email
msg['Subject'] = subject
# 添加正文
msg.attach(MIMEText(body, 'plain'))
# 发送邮件
try:
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login(email, password)
server.sendmail(email, to_email, msg.as_string())
print("邮件发送成功!")
except Exception as e:
print(f"发送失败:{str(e)}")
finally:
server.quit()
# 使用示例
send_email("每日报告", "这是自动发送的日报内容...", "recipient@example.com")
5. 桌面自动化 (GUI 操作)
python
import pyautogui
import time
def auto_screenshot(interval=5, duration=60):
"""定时截屏"""
end_time = time.time() + duration
while time.time() < end_time:
screenshot = pyautogui.screenshot()
timestamp = time.strftime("%Y%m%d_%H%M%S")
screenshot.save(f"screenshot_{timestamp}.png")
time.sleep(interval)
auto_screenshot(duration=30) # 运行30秒,每5秒截屏一次
三、高级技巧
- 定时任务设置
python
import schedule
import time
def job():
print("定时任务执行中...")
# 每天10:30执行
schedule.every().day.at("10:30").do(job)
while True:
schedule.run_pending()
time.sleep(60) # 每分钟检查一次
- 异常处理模板
python
def safe_automation():
try:
# 你的自动化代码
except FileNotFoundError as e:
print(f"文件未找到: {str(e)}")
except KeyboardInterrupt:
print("用户中断操作")
except Exception as e:
print(f"未知错误: {str(e)}")
finally:
# 清理资源
print("任务执行完毕")
四、最佳实践建议
- 使用配置文件存储敏感信息(API密钥、密码等)
- 添加详细的日志记录
- 编写可配置的参数(通过命令行参数或配置文件)
- 使用版本控制(Git)管理脚本
- 添加必要的异常处理
- 在虚拟环境中运行(使用 venv 或 conda)
五、调试技巧
- 使用 print() 进行简单调试
- 使用 logging 模块记录运行日志
- 使用 IDE 的调试功能(如 VSCode、PyCharm)
- 处理路径时使用 pathlib 代替字符串拼接
- 使用 type() 和 dir() 检查对象类型和属性
这些示例覆盖了常见的自动化场景,可以根据具体需求进行组合和扩展。建议从简单任务开始,逐步增加复杂度,同时注意做好错误处理和日志记录。
相关推荐
- ftp手机客户端(ftp手机客户端存文件)
-
要想实现FTP文件传输,必须在相连的两端都装有支持FTP协议的软件,装在您的电脑上的叫FTP客户端软件,装在另一端服务器上的叫做FTP服务器端软件。 客户端FTP软件使用方法很简单,启动后首先要与...
- 原版xp系统镜像(原版xp系统镜像怎么设置)
-
msdnitellyou又可以上了,那里有。 制作需要的软件 在开始进行制作之前,我们首先需要下载几个软件,启动光盘制作工具:EasyBoot,UltraISO以及用来对制作好的ISO镜像进行测...
- office2007密钥 office2016(office2007ultimate密钥)
-
word2016激活密钥有两种类型:永久激活码和KMS期限激活密钥。其中,永久激活密钥可以使用批量授权版永久激活密钥进行激活,如所示;而KMS期限激活密钥需要使用KMS客户端密钥进行激活,如所示。另外...
- windows10系统启动盘制作(windows10启动盘制作教程)
-
Windows10系统更改启动磁盘的方法如下1、按快捷键Win+R,调出命令窗口2、输入msconfig,点【确定】3、在系统配置中,选择【引导】菜单4、选择要默认启动的磁盘,点【设置为默认值】,...
- 方正电脑怎么重装系统
-
购买一张系统盘,然后启动电脑,将购买的系统盘插入电脑光驱中,等待光驱读取系统盘后,点击安装系统,即可自动安装,等待安装完毕,电脑会自动重启,重新启动后,电脑的系统就安装完毕,可以使用了一、准备需要的软...
-
- qq邮箱怎么写才正确
-
步骤/方式1一般默认的QQ邮箱格式是:QQ号码@qq.com,即QQ账号+@qq.com后缀步骤/方式2若要发送邮件,也要在对方的qq帐号末尾加上@qq.com1.每个人在注册QQ时都会有关联的一个邮箱,它的格式就是“QQ号码@qq.com...
-
2025-12-21 18:51 off999
-
- 电脑怎么看配置信息
-
要查看Windows电脑的配置信息,可以通过按下Win键+R,然后在弹出的运行对话框中输入“dxdiag”并按回车键打开DirectX诊断工具,可以查看有关处理器、内存、显卡等硬件信息。另外,还可以右键点击“此电脑”,选择“属性”来查看...
-
2025-12-21 18:03 off999
- mpeg是什么格式(mpeg是什么格式和mp4的区别)
-
是视频格式,是电脑视频文件的一种,相对其它视频文件格式而言,mpeg格式占的存储空间相对比较小,那么像素也就相对比较低,图像也没有其它格式那么高清,不过一般情况下已经满足正常的使用。好多视频文件都是采...
- 电脑参数配置怎么选(电脑参数配置怎么选择)
-
1、CPU,这个主要取决于频率和二级缓存,三级缓存,核心数量。频率越高、二级缓存越大,三级缓存越大,核心越多,运行速度越快。速度越快的CPU只有三级缓存影响响应速度。2、内存,内存的存取速度取决于接口...
- windows7字体(Windows7字体库在哪)
-
win7系统默认中文字体是微软雅黑字体1、首先我们先打开个性化2、然后我们打开“窗口颜色”3、然后我们点击“项目”里的桌面,选择“已选定的项目”4、下面就可以改字体,还有字体的颜色、大小5、然后点击“...
- windows7x86是32位吗(windows7 x86)
-
X86不是代表操作系统,是代表的CPU的类型,如果你知道CPU的发展史就知道,个人用计算机的CPU很早的版本是从286、386、486、586、奔腾等等类型发展起来的,所以X86的代表PC的CPU的类...
- 固态硬盘删除后又自动恢复了
-
进入BIOS查看,第一启动项是不是UEFI引导,改掉它可以下载个pe,下载安装在本地磁盘里,重启进入pe工具,先给固态格式化分区,在ghost机械盘上的系统,还原到固态上。遇到这种情况一定不要在此...
- win10版本回退(win10回退到以前版本)
-
如果你想在Windows10系统中回退到上一个版本,可以按照以下步骤进行操作:1.打开设置:点击Windows开始按钮,然后点击屏幕左侧的“设置”图标,或者使用键盘快捷键Win+I打开设置。2...
- 营业厅一个路由器多少钱(上门更换路由器收费吗)
-
移动免费装宽带活动全国都在搞,不过免费是有“门槛”的。以我所在的地区为例,只有月费在78元及以上的大流量套餐用户,才可以享受免费安装移动的宽带。月费越高,宽带的速率也越高,148元档可以安装200M的...
- win10从u盘启动怎么设置(win10怎么从u盘启动电脑)
-
1.回到桌面。点击开始徽标,点击开始菜单左侧的设置。2.设置界面点击更新和安全。3.进入更新和安全界面,点击左侧的恢复选项。4.进入恢复界面,点击高级启动下面的立即重新启动。5.插入自己的U盘,等待...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
