首页 > 编程知识 正文

Python自动化进阶

时间:2023-11-22 04:51:45 阅读:303909 作者:UKKN

本文将从多个方面详细阐述Python自动化进阶的内容。

一、日志记录与分析

日志记录是软件开发和运维中非常重要的一环,Python提供了丰富的库和工具来实现日志记录和分析。

1、日志记录

import logging

logging.basicConfig(filename='app.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

logging.info('This is an info message')  # 记录一条信息级别的日志
logging.warning('This is a warning message')  # 记录一条警告级别的日志

2、日志分析

import re

with open('app.log', 'r') as file:
    logs = file.readlines()

for log in logs:
    if re.search(r'warning', log.lower()):
        print(log)

二、网络爬虫

Python是非常强大的网络爬虫开发语言,可以方便地通过各种库和框架进行网页内容的提取和分析。

1、网页内容提取

import requests
from bs4 import BeautifulSoup

response = requests.get('https://www.example.com')
soup = BeautifulSoup(response.text, 'html.parser')

# 提取标题
title = soup.find('title').text
print(title)

# 提取链接
links = [link.get('href') for link in soup.find_all('a')]
print(links)

2、数据存储

import csv

data = [
    ['name', 'age', 'gender'],
    ['Tom', '25', 'Male'],
    ['Jerry', '22', 'Female']
]

with open('data.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

三、自动化测试

Python可以用于自动化测试,通过模拟用户行为或自动化脚本对软件进行测试。

1、模拟用户行为

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get('https://www.example.com')

username_input = driver.find_element_by_id('username')
password_input = driver.find_element_by_id('password')
login_button = driver.find_element_by_id('login')

username_input.send_keys('admin')
password_input.send_keys('password')
login_button.click()

2、自动化脚本

from unittest import TestCase, main
from myapp import add

class MyTestCase(TestCase):
    def test_add(self):
        result = add(2, 3)
        self.assertEqual(result, 5)

if __name__ == '__main__':
    main()

四、数据分析与可视化

Python在数据分析和可视化领域有着广泛应用,可以通过各种库和工具对数据进行处理和展示。

1、数据处理

import pandas as pd

data = {
    'name': ['Tom', 'Jerry', 'Alice'],
    'age': [25, 22, 30],
    'gender': ['Male', 'Female', 'Female']
}

df = pd.DataFrame(data)
print(df.head())

2、数据可视化

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('Sample Plot')
plt.show()

五、任务调度与自动化

Python可以用于任务调度和自动化,通过编写脚本或使用相关工具,可以实现定时执行任务和自动化操作。

1、任务调度

import schedule
import time

def job():
    print('Job executed at', time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at('10:30').do(job)

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

2、自动化操作

import os

os.chdir('/path/to/target/folder')
for file in os.listdir():
    if file.endswith('.txt'):
        os.remove(file)

六、机器学习与人工智能

Python在机器学习和人工智能领域被广泛使用,有着丰富的库和框架支持,可以方便地开发和部署机器学习模型。

1、机器学习模型训练

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

iris = datasets.load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3)

model = LogisticRegression()
model.fit(X_train, y_train)

2、模型部署

import joblib
from flask import Flask, request, jsonify

app = Flask(__name__)
model = joblib.load('model.pkl')

@app.route('/predict', methods=['POST'])
def predict():
    data = request.get_json()
    predictions = model.predict(data['input'])
    return jsonify(predictions.tolist())

if __name__ == '__main__':
    app.run()

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