Python脚本分类和代码举例
Python是一种强大且灵活的编程语言,被广泛应用于数据分析、Web开发、自动化、人工智能等领域。在不同的应用场景下,Python脚本可以被分类为多种类型。本文将深入分析Python脚本的分类,同时提供相关代码示例,帮助读者理解和应用这些脚本。
1. 数据分析脚本
数据分析是Python的主要应用领域之一,处理和分析大量数据的需求推动了Python在数据科学领域的普及。数据分析脚本通常使用如Pandas、NumPy和Matplotlib等库,来进行数据清洗、分析和可视化。
示例代码
以下是一段使用Pandas进行简单数据分析的Python脚本:
import pandas as pd# 读取CSV数据文件
data = pd.read_csv('sales_data.csv')# 显示数据的前几行
print(data.head())# 数据清洗:去除缺失值
cleaned_data = data.dropna()# 数据分析:计算销售总额
total_sales = cleaned_data['Sales'].sum()
print(f'Total Sales: {total_sales}')# 数据可视化:绘制柱状图
cleaned_data.groupby('Product')['Sales'].sum().plot(kind='bar')
plt.xlabel('Product')
plt.ylabel('Total Sales')
plt.title('Total Sales by Product')
plt.show()
2. Web开发脚本
Python在Web开发领域具有重要地位,常用框架包括Django和Flask。这些框架提供了处理HTTP请求、模板渲染、URL路由等功能,使得开发Web应用变得更加简单和高效。
示例代码
以下是一个使用Flask创建简单Web应用的示例脚本:
from flask import Flask, render_templateapp = Flask(__name__)# 定义主页路由
@app.route('/')
def home():return render_template('index.html')# 启动Web服务器
if __name__ == '__main__':app.run(debug=True)
3. 自动化脚本
自动化脚本用于执行重复性任务,例如文件操作、数据备份、定时任务等。Python的os、sys和shutil库经常用于编写自动化脚本。
示例代码
以下示例展示了如何使用Python脚本自动执行文件备份:
import os
import shutil
from datetime import datetime# 定义源目录和备份目录
source_dir = 'source_folder'
backup_dir = 'backup_folder'# 创建备份目录(如果不存在)
os.makedirs(backup_dir, exist_ok=True)# 获取当前日期
current_date = datetime.now().strftime('%Y-%m-%d')# 遍历源目录中的所有文件
for filename in os.listdir(source_dir):source_file = os.path.join(source_dir, filename)backup_file = os.path.join(backup_dir, f'{current_date}_{filename}')# 复制文件到备份目录if os.path.isfile(source_file):shutil.copy2(source_file, backup_file)print(f'Backed up {filename} to {backup_file}')
4. 人工智能与机器学习脚本
Python是构建AI和ML应用的首选语言之一。尤其是通过TensorFlow、Keras和Scikit-learn等库,Python可以用于构建和训练复杂的机器学习模型。
示例代码
以下是使用Scikit-learn进行简单线性回归的脚本示例:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression# 生成随机数据
np.random.seed(0)
X = 2.5 * np.random.rand(100, 1)
Y = 2 + 1.5 * X + np.random.rand(100, 1)# 构建线性回归模型
model = LinearRegression()
model.fit(X, Y)# 预测
X_new = np.array([[0], [2.5]])
Y_predict = model.predict(X_new)# 可视化
plt.scatter(X, Y, color='blue')
plt.plot(X_new, Y_predict, 'r-', linewidth=2)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Simple Linear Regression')
plt.show()
5. 网络爬虫脚本
网络爬虫用于从互联网自动提取数据。Python的BeautifulSoup和Scrapy库是构建网络爬虫的利器。
示例代码
下面的脚本使用BeautifulSoup从网页提取标题:
import requests
from bs4 import BeautifulSoup# 目标网页URL
url = 'https://www.example.com'# 获取网页内容
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')# 提取并打印网页标题
title = soup.title.string
print(f'Webpage title: {title}')
6. 系统工具脚本
这些脚本用于系统管理和维护,如系统监控、日志分析等。Python的subprocess和argparse库可用于系统命令执行和参数解析。
示例代码
以下是一个使用Python监控系统CPU使用率的脚本:
import psutil
import timetry:while True:# 获取CPU占用率cpu_usage = psutil.cpu_percent(interval=1)print(f'CPU Usage: {cpu_usage}%')# 停止间隔time.sleep(5)except KeyboardInterrupt:print("Monitoring stopped by user")
7. GUI应用脚本
通过Tkinter、PyQt等库,Python能够创建图形用户界面应用。这些脚本通常用于桌面应用程序的开发。
示例代码
以下是一个使用Tkinter构建的简单GUI应用:
import tkinter as tk# 创建主窗口
root = tk.Tk()
root.title("Simple GUI")# 标签和按钮
label = tk.Label(root, text="Hello, Tkinter!")
label.pack(pady=10)
button = tk.Button(root, text="Quit", command=root.quit)
button.pack(pady=5)# 运行GUI主循环
root.mainloop()
结论
Python语言的强大之处在于其广泛的应用场景和丰富的库支持,使得编写各类脚本成为可能。从数据分析到Web开发,从自动化到AI与ML,Python在现代技术生态中扮演着不可或缺的角色。通过本文所提供的示例和代码,读者可以轻松入门Python脚本的编写,并在实际项目中应用这些知识。无论你是初学者还是有经验的开发者,Python都值得你深入学习和探索。
print("拥抱新技术才是王道!")
关注我,不迷路,共学习,同进步
关注我,不迷路,共学习,同进步
相关文章:

Python脚本分类和代码举例
Python是一种强大且灵活的编程语言,被广泛应用于数据分析、Web开发、自动化、人工智能等领域。在不同的应用场景下,Python脚本可以被分类为多种类型。本文将深入分析Python脚本的分类,同时提供相关代码示例,帮助读者理解和应用这些…...
【Redis十二】Redis的典型应用(缓存和分布式锁)
目录 Redis作为缓存 1.什么是缓存? 2.缓存的更新策略 3.缓存预热,缓存穿透,缓存雪崩和缓存击穿 Redis作为分布式锁 1.什么是分布式锁? 2.分布式锁的实现过程 Redis是目前后端开发中非常热门的组件之一,本篇文章…...

C++入门基础知识107—【关于C++continue 语句】
成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C continue 语句的相关内容!…...

【AI大模型】《多模态持续学习》最新进展综述
摘要—持续学习(CL)旨在使机器学习模型能够从新数据中不断学习,同时在不遗忘已获得知识的基础上进行扩展。随着机器学习模型从小规模到大规模预训练架构的演变,以及从支持单一模态数据到支持多模态数据,多模态持续学习…...
大厂面试真题-CPU飙升问题怎么定位
CPU使用率飙升是开发者和系统管理员常遇到的问题,定位CPU飙升问题通常涉及以下步骤: 一、使用系统监控工具 查看CPU使用图表:利用任务管理器(Windows系统)或top、htop(Linux系统)等工具&#…...

【每日刷题】Day137
【每日刷题】Day137 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 1576. 替换所有的问号 - 力扣(LeetCode) 2. 495. 提莫攻击 - 力扣…...

24.4 基于consul服务发现模式
本节重点介绍 : consul 安装consul go代码注册服务,注销服务,获取服务node_exporter改造为consul服务发现在数量比较大时,在注册服务的时候,关闭check,可以降低consul的压力 consul 安装 准备工作 # 下载consul wge…...

[红队apt]快捷方式病毒攻击流程
免责声明:本文整理攻击者操作,帮助了解攻击原理,提高防范能力 前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理攻击者是如何用快捷方式进行攻击的流程 快捷方式攻击原理 快捷方式可以指向执行某个程序。 我们利用快捷方式攻击的…...

一个架构师的职业素养:四种常用的权限模型
你好,我是看山。 本文收录在《一个架构师的职业素养》专栏。日拱一卒,功不唐捐。 今天咱们一起聊聊权限系统。 以大家熟知的电商场景举例: 用户可以分为普通用户、VIP用户:我们需要控制不同角色用户的访问范围。比如,京东的PLUS会员,可以进入会员专区,而且能够使用礼金…...

说起来很简单,做起来很复杂:解密Chat GPT背后的原理与技术
你或许已经体验过ChatGPT,它能快速回答各种问题,生成文案、编写代码,甚至陪你聊些有趣的话题。看似简单易用,背后却隐藏着强大的技术支持。 输入几句话,ChatGPT仿佛“理解”了你的问题,立即给出准确的回答…...
tcpdump-arm平台移植
准备工作 下载并解压 972 mkdir tcpdump973 cd tcpdump/974 ls975 wget https://www.tcpdump.org/release/tcpdump-4.99.5.tar.xz976 wget https://www.tcpdump.org/release/libpcap-1.10.5.tar.xz977 tar -xvf libpcap-1.10.5.tar.xz978...

LabVIEW中的非阻塞定时器
在LabVIEW编程中,通常需要在某些任务执行过程中进行非阻塞的延时操作。例如,显示某条信息一段时间,同时继续执行其他任务,并在延时时间结束后停止显示该信息。这类需求通常用于处理优先级不同的信息显示,如错误信息需要…...

MIDIPLUS 50周年丨中国国际乐器展览会首日盛况
10月10日,由中国乐器协会、上海国展展览中心有限公司、法兰克福展览(上海)有限公司共同主办的中国(上海)国际乐器展览会在上海新国际博览中心(上海市浦东新区龙阳路2345号)盛大开幕。 2024上海…...

基于springboot的家政服务管理系统(含源码+sql+视频导入教程+文档+PPT)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的家政服务管理系统1拥有三种角色 管理员:用户管理、服务管理、评价管理、预约管理、分配管理等 用户:登录注册、预约服务、取消服务、评价等 服…...

第十四届单片机嵌入式蓝桥杯
一、CubeMx配置 (1)LED配置 (1)LED灯里面用到了SN74HC573ADWR锁存器,这个锁存器有一个LE引脚,这个是我们芯片的锁存引脚(使能引脚),由PD2这个端口来控制的 (2ÿ…...
Zotero 如何实现数据同步 坚果云
如何在Zotero中设置webdav连接到坚果云? | 坚果云帮助中心...
基于Redis实现的延迟队列
1. 适用场景 日常开发中,我们经常遇到这样的需求,在某个事件发生后,过一段时间做一个额外的动作,比如 拼单,如果2小时未能成单,取消拼单下单,30分钟内未支付,取消订单 之前的我们的…...

LINUX——内核移植、内核编译教程
Linux内核编译是一个将内核源代码转换成可在特定硬件架构上运行的二进制文件的过程。以下是编译Linux内核的一般步骤: 1、准备工作: 确保安装了必要的编译工具,如gcc、make、ncurses库(用于make menuconfig)等。 2、…...
《OpenCV计算机视觉》—— 用于执行图像透视变换的两个关键函数
文章目录 cv2.getPerspectiveTransformcv2.warpPerspective注意事项 cv2.getPerspectiveTransform 和 cv2.warpPerspective 是 OpenCV 库中用于执行透视变换的两个关键函数。下面是对这两个函数的详细解释: cv2.getPerspectiveTransform 功能:计算从源…...

uniapp使用字体图标 ttf svg作为选项图标,还支持变色变图按
在staic目录下有一些ttf文件,如uni.ttf,iconfont.ttf 这些文件中保存这字体svg的源码们,我们也可以在网上找其他的。这些就是我们要显示的突图标的 显示来源。这样不用使用png图标,选中不选中还得用两个图片 我的具体使用如下 &q…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...