首页 > 编程知识 正文

Python自动化之复习基础

时间:2023-11-21 11:32:31 阅读:308113 作者:SWOK

本文将从多个方面对Python自动化之复习基础进行详细阐述,旨在帮助读者巩固Python基础知识,并学习如何运用Python进行自动化开发。

一、Python基础知识回顾

1、变量和数据类型

<!-- coding:utf-8 -->
# 声明一个整型变量
age = 18
# 声明一个字符串变量
name = "Alice"
# 声明一个浮点型变量
height = 1.75

2、流程控制

<!-- coding:utf-8 -->
# if语句
score = 80
if score >= 60:
    print("及格")
else:
    print("不及格")

# for循环
for i in range(1, 10):
    print(i)

# while循环
count = 0
while count < 5:
    print(count)
    count += 1

3、函数和模块

<!-- coding:utf-8 -->
# 声明一个函数
def add(a, b):
    return a + b

# 导入模块
import math

# 使用模块中的函数
print(math.sqrt(25))

二、文件操作与处理

1、读取文件

<!-- coding:utf-8 -->
# 打开文件
file = open("test.txt", "r")
# 读取文件内容
content = file.read()
# 关闭文件
file.close()
print(content)

2、写入文件

<!-- coding:utf-8 -->
# 打开文件
file = open("test.txt", "w")
# 向文件写入内容
file.write("Hello, World!")
# 关闭文件
file.close()

3、文件处理

<!-- coding:utf-8 -->
# 逐行读取文件
file = open("test.txt", "r")
for line in file:
    print(line)
file.close()

# 删除文件
import os
os.remove("test.txt")

三、网页自动化

1、使用selenium实现自动化网页操作

<!-- coding:utf-8 -->
from selenium import webdriver

# 创建浏览器对象
browser = webdriver.Chrome()
# 打开网页
browser.get("https://www.baidu.com/")
# 在搜索框中输入关键词
search_box = browser.find_element_by_id("kw")
search_box.send_keys("Python自动化")
# 点击搜索按钮
search_button = browser.find_element_by_id("su")
search_button.click()
# 关闭浏览器
browser.quit()

2、使用beautifulsoup解析网页内容

<!-- coding:utf-8 -->
from bs4 import BeautifulSoup
import requests

# 发送请求获取网页内容
url = "https://www.baidu.com/"
response = requests.get(url)
html = response.text

# 解析网页内容
soup = BeautifulSoup(html, "html.parser")
# 获取网页中的标题
title = soup.title.string
print(title)

3、使用requests模拟登录网站

<!-- coding:utf-8 -->
import requests

# 创建会话对象
session = requests.session()
# 发送登录请求
login_data = {
    "username": "admin",
    "password": "123456"
}
response = session.post("https://www.example.com/login", data=login_data)
# 发送其他请求获取登录后的内容
response = session.get("https://www.example.com/profile")
print(response.text)

四、任务调度与定时执行

1、使用schedule库实现任务调度

<!-- coding:utf-8 -->
import schedule
import time

# 定义一个任务
def task():
    print("Task executed!")

# 每隔5秒执行一次任务
schedule.every(5).seconds.do(task)
while True:
    schedule.run_pending()
    time.sleep(1)

2、使用APScheduler库实现定时执行

<!-- coding:utf-8 -->
from apscheduler.schedulers.blocking import BlockingScheduler

# 定义一个任务
def task():
    print("Task executed!")

# 创建调度器对象
scheduler = BlockingScheduler()
# 每天中午12点执行任务
scheduler.add_job(task, 'cron', hour=12)
scheduler.start()

3、使用Python脚本实现定时任务

<!-- coding:utf-8 -->
import time

# 定义一个任务
def task():
    print("Task executed!")

# 定时执行任务
while True:
    # 判断当前时间是否符合执行条件
    current_time = time.strftime("%H:%M", time.localtime())
    if current_time == "12:00":
        task()
    time.sleep(60)

五、邮箱自动化

1、使用smtplib发送邮件

<!-- coding:utf-8 -->
import smtplib
from email.mime.text import MIMEText

# 邮件内容
message = MIMEText("Hello, World!", "plain", "utf-8")
message["From"] = "sender@example.com"
message["To"] = "receiver@example.com"
message["Subject"] = "Test Email"

# 发送邮件
smtp_server = "smtp.example.com"
smtp_port = 465
smtp_username = "username"
smtp_password = "password"
smtp_ssl = True
with smtplib.SMTP_SSL(smtp_server, smtp_port) as server:
    server.login(smtp_username, smtp_password)
    server.sendmail(smtp_username, [message["To"]], message.as_string())

2、使用imaplib接收邮件

<!-- coding:utf-8 -->
import imaplib
import email

# 邮箱登录
imap_server = "imap.example.com"
imap_port = 993
imap_username = "username"
imap_password = "password"
with imaplib.IMAP4_SSL(imap_server, imap_port) as server:
    server.login(imap_username, imap_password)
    server.select("INBOX")
    # 搜索邮件
    status, message_ids = server.search(None, "ALL")
    for message_id in message_ids[0].split():
        # 获取邮件内容
        status, data = server.fetch(message_id, "(RFC822)")
        raw_email = data[0][1]
        email_message = email.message_from_bytes(raw_email)
        # 获取发件人和主题
        print("From:", email_message.get("From"))
        print("Subject:", email_message.get("Subject"))

3、自动回复邮件

<!-- coding:utf-8 -->
import imaplib
from email.mime.text import MIMEText

# 邮箱登录
imap_server = "imap.example.com"
imap_port = 993
imap_username = "username"
imap_password = "password"
with imaplib.IMAP4_SSL(imap_server, imap_port) as server:
    server.login(imap_username, imap_password)
    server.select("INBOX")
    # 搜索未回复的邮件
    status, message_ids = server.search(None, "UNANSWERED")
    for message_id in message_ids[0].split():
        # 获取发件人和主题
        status, data = server.fetch(message_id, "(BODY[HEADER.FIELDS (FROM SUBJECT)])")
        email_message = email.message_from_bytes(data[0][1])
        sender = email_message.get("From")
        subject = email_message.get("Subject")
        # 构造回复邮件
        reply_message = MIMEText("Thank you for your email!", "plain", "utf-8")
        reply_message["From"] = imap_username
        reply_message["To"] = sender
        reply_message["Subject"] = f"Re: {subject}"
        # 发送回复邮件
        server.append("INBOX", None, None, reply_message.as_bytes())

六、数据处理与分析

1、使用pandas读取和处理数据

<!-- coding:utf-8 -->
import pandas as pd

# 读取CSV文件
data = pd.read_csv("data.csv")
# 查看数据前5行
print(data.head())
# 数据预处理
data.dropna(inplace=True)
data["date"] = pd.to_datetime(data["date"])
data.set_index("date", inplace=True)
# 数据分析
print(data.describe())

2、使用matplotlib绘制数据可视化图表

<!-- coding:utf-8 -->
import matplotlib.pyplot as plt

# 绘制折线图
plt.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25])
plt.xlabel("x")
plt.ylabel("y")
plt.title("Line Chart")
plt.show()

3、使用numpy进行数据计算

<!-- coding:utf-8 -->
import numpy as np

# 创建NumPy数组
arr = np.array([1, 2, 3, 4, 5])
# 数组运算
print(np.mean(arr))
print(np.max(arr))
print(np.min(arr))

通过以上方面对Python自动化之复习基础的阐述,希望能够帮助读者巩固Python基础知识,掌握相关的自动化操作技巧,提升开发效率。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。