文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python 的九个自动化实战脚本示例

2024-11-29 19:28

关注

1. 自动备份文件

需求:每天自动备份指定文件夹内的文件。

import shutil
import datetime

# 源文件夹路径
src_folder = 'C:/Users/你的用户名/Documents'
# 备份文件夹路径,格式为年月日
backup_folder = f'C:/Backups/{datetime.date.today()}'

# 创建备份目录
shutil.rmtree(backup_folder, ignore_errors=True)  # 清除已存在的备份
os.makedirs(backup_folder, exist_ok=True)

# 复制文件
shutil.copytree(src_folder, backup_folder)
print("备份完成!")

解释:利用shutil库进行文件和目录操作,datetime用于生成当前日期作为备份目录名。

2. 邮件发送提醒

需求:定时发送邮件提醒自己或他人。

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# 设置邮件信息
msg = MIMEMultipart()
msg['From'] = 'your_email@example.com'
msg['To'] = 'receiver@example.com'
msg['Subject'] = '今日任务提醒'
body = '别忘了今天的会议哦!'
msg.attach(MIMEText(body, 'plain'))

# 发送邮件
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()  # 启用安全传输
server.login('your_email@example.com', 'your_password')
text = msg.as_string()
server.sendmail(msg['From'], msg['To'], text)
server.quit()
print("邮件发送成功!")

注意:使用前需替换邮箱地址和密码,并确保SMTP服务器设置正确。

3. 网页抓取

需求:批量获取网站列表的。

import requests
from bs4 import BeautifulSoup

# 网站列表
websites = ['https://www.example1.com', 'https://www.example2.com']

for url in websites:
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    title = soup.find('title').text
    print(f"{url} 的是: {title}")

技巧:使用requests获取网页内容,BeautifulSoup解析HTML。

这些基础脚本只是冰山一角,接下来,我们将探索更高级的应用,如数据自动化处理、社交媒体管理自动化、甚至简单的GUI应用,让你的自动化技能更上一层楼。保持学习,自动化之旅才刚刚开始。

4. Excel数据处理

需求:合并多个Excel文件。

import pandas as pd

# 文件所在目录
folder_path = 'C:/ExcelFiles'
excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]

# 合并Excel文件
frames = [pd.read_excel(os.path.join(folder_path, filename)) for filename in excel_files]
combined = pd.concat(frames, ignore_index=True)
combined.to_excel('combined.xlsx', index=False)
print("Excel文件合并完成。")

重点:使用Pandas库简化数据处理,pd.concat用于合并DataFrame。

5. 自动下载图片

需求:从特定网站下载所有图片。

import os
import requests
from bs4 import BeautifulSoup

url = 'http://example.com/images-page'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

img_tags = soup.find_all('img')
for img in img_tags:
    img_url = img.get('src')
    img_name = os.path.basename(img_url)
    with open(img_name, 'wb') as handler:
        handler.write(requests.get(img_url).content)
    print(f"下载了图片: {img_name}")

提示:确保合法下载,尊重版权。

6. 网络状态监测

需求:监控网站是否可访问。

import time
import requests

url = 'https://www.example.com'
while True:
    try:
        response = requests.get(url, timeout=5)
        if response.status_code == 200:
            print("网站在线。")
        else:
            print("网站无法访问。")
    except requests.ConnectionError:
        print("连接错误。")
    time.sleep(60)  # 每分钟检查一次

实践:利用循环和异常处理持续监控。

7. 任务调度:定时执行脚本

需求:每天早上8点自动发送天气预报邮件。 解决方案:结合Python的schedule库和之前提到的天气预报与邮件发送脚本。

import schedule
import time
from send_weather_email import send_weather_email  # 假设这是发送天气预报邮件的函数

def job():
    send_weather_email()

schedule.every().day.at("08:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

技巧:使用schedule库轻松安排任务,确保定时准确执行。

8. 自动化文件重命名

需求:批量重命名文件夹中的图片,添加日期戳。

import os
import datetime

folder_path = 'C:/Pictures'
datestamp = datetime.datetime.now().strftime('%Y%m%d')

for filename in os.listdir(folder_path):
    if filename.endswith('.jpg'):
        new_filename = f'{datestamp}_{filename}'
        src = os.path.join(folder_path, filename)
        dst = os.path.join(folder_path, new_filename)
        os.rename(src, dst)
        print(f'Renamed: {filename} to {new_filename}')

实用提示:利用os模块处理文件系统操作,增加文件管理的灵活性。

9. 简易的个人记账应用

需求:记录收支,保存到CSV文件。

import csv

def record_transaction(description, amount, type='income'):
    with open('transactions.csv', mode='a', newline='') as file:
        writer = csv.writer(file)
        writer.writerow([description, amount, type])
    print("交易记录成功。")

record_transaction("午餐", -20, "expense")
record_transaction("工资", 5000, "income")

扩展:可以进一步开发成图形界面或数据库存储,提升实用性。

结语

Python的自动化能力远不止于此。从简单的脚本到复杂的自动化流程,Python都是你值得信赖的伙伴。

来源:PythonAI与图像处理内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯