百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python自动化脚本指南(pythonui自动化脚本)

off999 2025-05-08 04:43 18 浏览 0 评论

以下是一个实用的 Python 自动化脚本指南,包含常见场景示例和分步说明:

一、环境准备

  1. 安装 Python (推荐 3.6+ 版本)
  2. 安装常用库:

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秒截屏一次

三、高级技巧

  1. 定时任务设置

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) # 每分钟检查一次

  1. 异常处理模板

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("任务执行完毕")

四、最佳实践建议

  1. 使用配置文件存储敏感信息(API密钥、密码等)
  2. 添加详细的日志记录
  3. 编写可配置的参数(通过命令行参数或配置文件)
  4. 使用版本控制(Git)管理脚本
  5. 添加必要的异常处理
  6. 在虚拟环境中运行(使用 venv 或 conda)

五、调试技巧

  1. 使用 print() 进行简单调试
  2. 使用 logging 模块记录运行日志
  3. 使用 IDE 的调试功能(如 VSCode、PyCharm)
  4. 处理路径时使用 pathlib 代替字符串拼接
  5. 使用 type()dir() 检查对象类型和属性

这些示例覆盖了常见的自动化场景,可以根据具体需求进行组合和扩展。建议从简单任务开始,逐步增加复杂度,同时注意做好错误处理和日志记录。

相关推荐

pip的使用及配置_pip怎么配置

要使用python必须要学会使用pip,pip的全称:packageinstallerforpython,也就是Python包管理工具,主要是对python的第三方库进行安装、更新、卸载等操作,...

Anaconda下安装pytorch_anaconda下安装tensorflow

之前的文章介绍了tensorflow-gpu的安装方法,也介绍了许多基本的工具与使用方法,具体可以看Ubuntu快速安装tensorflow2.4的gpu版本。pytorch也是一个十分流行的机器学...

Centos 7 64位安装 python3的教程

wgethttps://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz#下载指定版本软件安装包tar-xzfPython-3.10.1...

如何安装 pip 管理工具_pip安装详细步骤

如何安装pip管理工具方法一:yum方式安装Centos安装python3和python3-devel开发包>#yuminstallgcclibffi-develpy...

Python入门——从开发环境搭建到hello world

一、Python解释器安装1、在windows下步骤1、下载安装包https://www.python.org/downloads/打开后选择【Downloads】->【Windows】小编是一...

生产环境中使用的十大 Python 设计模式

在软件开发的浩瀚世界中,设计模式如同指引方向的灯塔,为我们构建稳定、高效且易于维护的系统提供了经过验证的解决方案。对于Python开发者而言,理解和掌握这些模式,更是提升代码质量、加速开发进程的关...

如何创建和管理Python虚拟环境_python怎么创建虚拟环境

在Python开发中,虚拟环境是隔离项目依赖的关键工具。下面介绍创建和管理Python虚拟环境的主流方法。一、内置工具:venv(Python3.3+推荐)venv是Python标准...

初学者入门Python的第一步——环境搭建

Python如今成为零基础编程爱好者的首选学习语言,这和Python语言自身的强大功能和简单易学是分不开的。今天千锋武汉Python培训小编将带领Python零基础的初学者完成入门的第一步——环境搭建...

全网最简我的世界Minecraft搭建Python编程环境

这篇文章将给大家介绍一种在我的世界minecraft里搭建Python编程开发环境的操作方法。目前看起来应该是全网最简单的方法。搭建完成后,马上就可以利用python代码在我的世界自动创建很多有意思的...

Python开发中的虚拟环境管理_python3虚拟环境

Python开发中,虚拟环境管理帮助隔离项目依赖,避免不同项目之间的依赖冲突。虚拟环境的作用隔离依赖:不同项目可能需要不同版本的库,虚拟环境可以为每个项目创建独立的环境。避免全局污染:全局安装的库可...

Python内置zipfile模块:操作 ZIP 归档文件详解

一、知识导图二、知识讲解(一)zipfile模块概述zipfile模块是Python内置的用于操作ZIP归档文件的模块。它提供了创建、读取、写入、添加及列出ZIP文件的功能。(二)ZipFile类1....

Python内置模块pydoc :文档生成器和在线帮助系统详解

一、引言在Python开发中,良好的文档是提高代码可读性和可维护性的关键。pydoc是Python自带的一个强大的文档生成器和在线帮助系统,它可以根据Python模块自动生成文档,并支持多种输出格式...

Python sys模块使用教程_python system模块

1.知识导图2.sys模块概述2.1模块定义与作用sys模块是Python标准库中的一个内置模块,提供了与Python解释器及其环境交互的接口。它包含了许多与系统相关的变量和函数,可以用来控制P...

Python Logging 模块完全解读_python logging详解

私信我,回复:学习,获取免费学习资源包。Python中的logging模块可以让你跟踪代码运行时的事件,当程序崩溃时可以查看日志并且发现是什么引发了错误。Log信息有内置的层级——调试(deb...

软件测试|Python logging模块怎么使用,你会了吗?

Pythonlogging模块使用在开发和维护Python应用程序时,日志记录是一项非常重要的任务。Python提供了内置的logging模块,它可以帮助我们方便地记录应用程序的运行时信息、错误和调...

取消回复欢迎 发表评论: