(五)Python中第三方常用库(webbrower、pyautogui、smtplib、xlwt、xlrd、openpyxl等)

文章目录

  • 一、库的安装方法
  • 二、pyautogui库(模拟键盘按键、鼠标操作和GUI交互)
  • 三、webbrower库(操作浏览器)
  • 四、smtplib库(模拟发送邮件)
  • 五、xlwt库(操作Excel写入数据)
  • 六、xlrd库(操作Excel读出数据)
  • 七、openpyxl库(操作Excel写入/读出数据)

  脚本的编写、查询要多使用AI辅助!!!

一、库的安装方法

  安装好Python后,在命令行执行下述代码:

$> python -m pip install --upgrade pip      #更新pip到最新版本
$> pip install <库名>                        #安装指定库,如pip install webbrowser

二、pyautogui库(模拟键盘按键、鼠标操作和GUI交互)

  模拟鼠标点击左键的代码:

import pyautogui  
import time  
import random  # 初始化点击次数  
click_count = 0  def click_randomly():  global click_count  # 随机获取屏幕的宽度和高度  screen_width, screen_height = pyautogui.size()  # 生成一个随机的屏幕坐标(在屏幕范围内)  x = random.randint(0, screen_width)y = random.randint(0, screen_height)  # 模拟鼠标左键点击  pyautogui.click(x, y, button='left')  click_count += 1  print(f"第 {click_count} 次点击: ({x}, {y})")  while True:  click_randomly()  time.sleep(2*60)  # 每隔120秒点击一次

三、webbrower库(操作浏览器)

  控制打开指定浏览器的特定的URL的代码:

import webbrowserchrome_path = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(chrome_path))
webbrowser.get('chrome').open('https://www.baidu.com')

四、smtplib库(模拟发送邮件)

  使用Python的smtplib库,可以连接到SMTP服务器,并发送邮件。可以设置发件人、收件人、主题和内容等信息,然后调用sendmail()方法发送邮件:

import smtplib
from email.mime.text import MIMEText# 设置发件人、收件人和邮件内容
sender = "sender@example.com"
receiver = "receiver@example.com"
message = MIMEText("This is a test email.")
message["Subject"] = "Test Email"
message["From"] = sender
message["To"] = receiver# 发送邮件
smtp_server = "smtp.example.com"
smtp_port = 25
smtp = smtplib.SMTP(smtp_server, smtp_port)
smtp.sendmail(sender, receiver, message.as_string())
smtp.quit()

五、xlwt库(操作Excel写入数据)

  xlwt模块是python中专门用于写入Excel的拓展模块,可以实现创建表单、写入指定单元格、指定单元格样式等功能:
  xlwt库只支持.xls格式的Excel文件,而不支持.xlsx格式的Excel文件。

import xlwt  # 创建一个Workbook对象,这就相当于创建了一个Excel文件  
book = xlwt.Workbook(encoding='utf-8', style_compression=0)  
# 创建一个sheet对象,sheet的名字为'Sheet1'  
sheet = book.add_sheet('Sheet1')  # 写入数据,参数分别为行号、列号、数据  
sheet.write(0, 0, 'Hello')  # 在第0行第0列写入'Hello'  
sheet.write(0, 1, 'World')  # 在第0行第1列写入'World'  # 最后将以上操作保存到指定的Excel文件中  
book.save('test.xls')#运行上述代码后,会在当前目录下生成一个名为test.xls的Excel文件,其中包含一个名为Sheet1的工作表,
#第0行第0列的单元格内容为"Hello",第0行第1列的单元格内容为"World"

六、xlrd库(操作Excel读出数据)

  xlrd是一个用于读取Excel文件的Python库。它支持.xls和.xlsx格式的文件,可以提取工作表中的数据,并将其转换为Python数据结构(列表):
  注意:xlrd库只支持读取旧的.xls格式的文件,对于新的.xlsx格式的文件,可能需要使用openpyxl或其他类似的库。

import xlrd  # 打开Excel文件  
workbook = xlrd.open_workbook('example.xls')  
# 获取所有工作表名  
sheet_names = workbook.sheet_names()    
# 选择要读取的工作表  
sheet = workbook.sheet_by_name(sheet_names[0])    # 遍历行和列数据  
for row in range(sheet.nrows):  for col in range(sheet.ncols):  cell_value = sheet.cell(row, col).value  print(cell_value)#上面的代码中,我们首先使用xlrd.open_workbook()函数打开一个Excel文件,并获取该文件中的所有工作表名。然后,我们选择要读取的工作表,
#并使用sheet.cell()方法读取单元格数据。最后,我们遍历工作表中的所有行和列,并打印每个单元格的值。

七、openpyxl库(操作Excel写入/读出数据)

  openpyxl是一个功能强大的库,用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件。它支持对Excel文件的读取、写入以及格式化单元格、设置公式等操作。

import openpyxl  # 打开Excel文件  
workbook = openpyxl.load_workbook('example.xlsx')  
# 选择工作表  
worksheet = workbook['Sheet1']  # 写入数据  
worksheet['A1'] = 'Name'  
worksheet['B1'] = 'Age'  
worksheet['C1'] = 'Gender'  
worksheet['A2'] = 'John'  
worksheet['B2'] = 25  
worksheet['C2'] = 'Male'  # 保存Excel文件  
workbook.save('example.xlsx')  # 重新打开Excel文件  
workbook = openpyxl.load_workbook('example.xlsx')  
# 选择工作表  
worksheet = workbook['Sheet1']  # 读取数据  
name = worksheet['A2'].value  
age = worksheet['B2'].value  
gender = worksheet['C2'].value  # 打印读取的数据  
print(f"Name: {name}")  
print(f"Age: {age}")  
print(f"Gender: {gender}")

参考:https://www.runoob.com/python3/python3-tutorial.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/620577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++学习笔记——友元、嵌套类、异常

目录 一、友元 一个使用友元的示例代码 输出结果 二、嵌套类 一个使用嵌套类的示例代码 输出结果 三、异常 一个使用异常处理的示例代码 输出结果 四、结论 五、使用它们的注意事项 上一篇文章链接&#xff1a; C中的继承和模板是非常强大和灵活的特性&#xff0c;它…

【HuggingFace Transformer库学习笔记】基础组件学习:Datasets

基础组件——Datasets datasets基本使用 导入包 from datasets import *加载数据 datasets load_dataset("madao33/new-title-chinese") datasetsDatasetDict({train: Dataset({features: [title, content],num_rows: 5850})validation: Dataset({features: [titl…

【图形学】探秘图形学奥秘:DDA与Bresenham算法的解密与实战

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《图形学 | 图像解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 ​ 目录 &#x1f30c;1. 初识模式识别…

AUTOSAR从入门到精通-Autosar 中断机制(六)

目录 知识储备 安全机制的程序流监控 看门狗在autosar 架构中位置 看门狗在autosar中简单流程

VMware workstation安装debian-12.1.0虚拟机并配置网络

VMware workstation安装debian-12.1.0虚拟机并配置网络 Debian 是一个完全自由的操作系统&#xff01;Debian 有一个由普罗大众组成的社区&#xff01;该文档适用于在VMware workstation平台安装debian-12.1.0虚拟机。 1.安装准备 1.1安装平台 Windows 11 1.2软件信息 软…

Nodejs软件安装​

Nodejs软件安装​ 一、简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 官网&#xff1a;http://nodejs.cn/api/ 我们关注于 node.js 的 npm 功能&#xff0c;NPM 是随同 NodeJS 一起安装的包管理工具&#xff0c;JavaScript-NPM&#xff0c;Java-Maven&…

Redis命令 - Strings命令组常用命令

1、Set命令 SET key value [EX seconds] [PX milliseconds] [NX|XX]1.1 参数说明&#xff1a; EX seconds: 设置key的过期时间&#xff0c;单位时秒PX milliseconds: 设置key的过期时间&#xff0c;单位时毫秒NX: 只有key不存在的时候&#xff0c;才会设置key的值XX: 只有key…

花了三天的时间做了一个多功能 AI 助手

嗨&#xff01;我是团子&#xff0c;大家新年快乐呀~ 前几天看到一些好朋友在朋友圈晒自己的年度总结&#xff0c;立新年 Flag&#xff0c;看到大家一年满满的收获&#xff0c;再看看自己&#xff0c;不由得想再看看人家&#xff0c;然后再看看自己&#xff0c;然后再看看人家…

Vue学习计划-Vue3--核心语法(九)slot插槽

【slot】 插槽&#xff1a;简单说就是父组件内部使用了子组件&#xff0c;但是子组件内部某些结构需要使用者自行定义&#xff0c;此时就需要用到插槽实现 默认插槽 默认插槽的name是default 父组件 <template><div><Child><h3>默认插槽</h3>&…

MAVROS的进一步理解

一、Mavros简介 顾名思义&#xff0c; mavros就是mavlinkros。mavros是PX4官方提供的一个运行于ros下收发mavlink消息的工具&#xff0c;利用mavros可以发送mavlink消息给飞控(可以控制飞机)&#xff0c;并且可以从飞控中接受数据(例如&#xff1a;飞控的位置速度 IMU数据等等…

阿里云服务器ECS介绍_高性能云服务器_为了无法计算的价值

阿里云高性能云服务器60%单实例最大性能提升&#xff0c;35Gbps内网带宽&#xff0c;网络增强&通用型云服务器、本地SSD型云服务器、大数据型云服务器、GPU异构型云服务器&#xff0c;阿里云百科aliyunbaike.com分享阿里云高性能云服务器&#xff1a; 阿里云高性能云服务器…

大模型实战营Day4 作业

基础作业&#xff1a; 构建数据集&#xff0c;使用 XTuner 微调 InternLM-Chat-7B 模型, 让模型学习到它是你的智能小助手&#xff0c;效果如下图所示&#xff0c;本作业训练出来的模型的输出需要将不要葱姜蒜大佬替换成自己名字或昵称&#xff01; 微调前&#xff08;回答比较…

LMDeploy 的量化和部署

LMDeploy 的量化和部署 文档&#xff1a;https://github.com/InternLM/tutorial/blob/vansin-patch-4/lmdeploy/lmdeploy.md 视频&#xff1a;https://www.bilibili.com/video/BV1iW4y1A77P 一、模型量化 大模型参数量很大&#xff0c;运行起来非常消耗显存和内存&#xff0c;…

Python 基于Open3D的点云均匀下采样算法

目录 一、算法概述二、代码示例三、测试示例一、算法概述 点云均匀下采样算法:是在保持点云关键特征的前提下,减少点云数据的数量。 算法流程: 首先使用o3d.io.read_point_cloud函数读取点云数据。然后,使用uniform_down_sample函数进行均匀下采样,将点云数据按照指定的采…

MySQL修炼手册8:约束与完整性:保证数据的一致性

目录 写在开头1 主键与唯一键约束1.1 PRIMARY KEY约束的作用1.2 主键的复合使用1.3 主键的修改与删除1.4 UNIQUE约束的应用场景1.5 主键与唯一键约束的性能影响1.6 主键的自动增长1.7 主键的最佳实践1.8 独特性与业务需求1.9 避免过度使用唯一约束1.10 主键与唯一键的关系 2 外…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux网络编程第三天-UDP编程练习题(物联技术666)

网盘链接:https://pan.baidu.com/s/1TKdHdeuDI8XPaakepvSLZQ?pwd=1688 提取码:1688 利用UDP实现双人不同机器聊天(服务器可以被多人连接,显示多人聊天记录) //-------------------------服务器 #include <string.h> #include <sys/types.h> #include <…

VCG 网格布尔运算

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Mesh布尔操作是一种在三维计算机图形学中用于组合两个或多个网格(mesh)对象的方法。它可以将两个网格对象组合成一个新的对象,同时保留原始对象的拓扑结构和几何信息。Mesh布尔操作主要有以下三种类型: Union(…

爱这个世界,从爱自己开始

亲爱的月月&#xff1a; 早上十点叫你起床&#xff0c;你仍睡意朦胧&#xff0c;今天的网课看样又得加班加点到凌晨。昨晚你大半夜跑完步后&#xff0c;涮火锅、麻辣肚、吃冷饮后闹肚子不停&#xff0c;你妈心疼地照顾你时&#xff0c;你勇敢地微笑着对我们说“肉体不就是拿来…

android gradle编译问题记录

1、gradle下载太慢 有时候即便配置了国内镜像下载gradle也是慢的一批&#xff0c;可以手动下载gradle文件配置到项目中,比如我下载了一个新项目&#xff0c;它的gradle版本是gradle-4.1-all&#xff0c;进入项目时它会开始下载gradle&#xff0c;此时gradle目录中会创建gradle…