自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战【第95篇—自动化操作读写Excel 】

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战

在日常工作中,Excel表格是不可或缺的数据处理工具。为了提高工作效率,Python中的xlrd和xlwt模块为我们提供了强大的功能,使得自动化操作Excel变得更加简便。本文将介绍xlrd和xlwt模块的参数说明,并通过代码实战演示如何进行Excel的读写操作。

image-20240224110649149

1. xlrd 模块

1.1 模块介绍

xlrd是一个用于读取Excel文件的库,支持.xls和.xlsx格式的文件。在使用之前,需要确保已安装该模块,可以通过以下命令进行安装:

pip install xlrd
1.2 参数说明
  • open_workbook(file_path): 打开Excel文件,返回一个workbook对象。
  • sheet_by_index(index): 根据索引获取工作表,返回一个sheet对象。
  • sheet_by_name(sheet_name): 根据工作表名获取工作表,返回一个sheet对象。
  • nrowsncols: 获取工作表的行数和列数。
  • cell(row, col): 获取指定单元格的值。
1.3 代码实战
import xlrd

# 打开Excel文件
workbook = xlrd.open_workbook('example.xlsx')

# 获取第一个工作表
sheet = workbook.sheet_by_index(0)

# 获取行数和列数
num_rows = sheet.nrows
num_cols = sheet.ncols

# 遍历打印每个单元格的值
for row in range(num_rows):
    for col in range(num_cols):
        cell_value = sheet.cell(row, col).value
        print(f'({row+1}, {col+1}): {cell_value}')

2. xlwt 模块

2.1 模块介绍

xlwt是一个用于写入Excel文件的库,支持创建.xls格式的文件。同样,在使用之前,需要确保已安装该模块:

pip install xlwt
2.2 参数说明
  • Workbook(): 创建一个Excel工作簿。
  • add_sheet(sheet_name): 在工作簿中添加一个工作表。
  • write(row, col, value): 在指定单元格写入值。
2.3 代码实战
import xlwt

# 创建一个Excel工作簿
workbook = xlwt.Workbook()

# 在工作簿中添加一个工作表
sheet = workbook.add_sheet('Sheet1')

# 写入数据
data = [
    ['Name', 'Age', 'City'],
    ['John', 25, 'New York'],
    ['Alice', 30, 'London'],
    ['Bob', 22, 'Tokyo']
]

for row_index, row in enumerate(data):
    for col_index, value in enumerate(row):
        sheet.write(row_index, col_index, value)

# 保存文件
workbook.save('output.xls')

通过上述代码,我们成功创建了一个包含数据的Excel文件。

3. xlrd 和 xlwt 的高级应用

3.1 xlrd:处理日期和格式化数据

xlrd 不仅可以读取普通文本数据,还可以处理日期和格式化数据。以下是一个处理日期数据的示例:

import xlrd
from datetime import datetime

workbook = xlrd.open_workbook('dates.xlsx')
sheet = workbook.sheet_by_index(0)

# 读取日期数据并进行格式化输出
date_cell = sheet.cell_value(1, 0)
date_value = xlrd.xldate_as_datetime(date_cell, workbook.datemode)
formatted_date = date_value.strftime('%Y-%m-%d %H:%M:%S')
print(f'Formatted Date: {formatted_date}')
3.2 xlwt:设置单元格样式

xlwt 提供了设置单元格样式的功能,可以修改字体、颜色、对齐方式等。以下是一个设置单元格样式的示例:

import xlwt

workbook = xlwt.Workbook()
sheet = workbook.add_sheet('StyledSheet')

# 创建样式
style = xlwt.XFStyle()
font = xlwt.Font()
font.bold = True
font.color_index = xlwt.Style.colour_map['red']
style.font = font

# 在单元格应用样式
sheet.write(0, 0, 'Styled Text', style)

# 保存文件
workbook.save('styled_output.xls')

通过上述代码,我们将单元格的文本设置为粗体并显示为红色。

4. 实战应用:合并处理数据

结合 xlrdxlwt,我们可以实现更复杂的数据处理操作,例如从一个 Excel 文件中读取数据,进行处理后写入另一个文件。以下是一个简单的示例:

import xlrd
import xlwt

# 读取原始数据
input_workbook = xlrd.open_workbook('input_data.xlsx')
input_sheet = input_workbook.sheet_by_index(0)

# 创建新的工作簿和工作表
output_workbook = xlwt.Workbook()
output_sheet = output_workbook.add_sheet('ProcessedData')

# 处理数据并写入新的工作表
for row_index in range(input_sheet.nrows):
    for col_index in range(input_sheet.ncols):
        cell_value = input_sheet.cell_value(row_index, col_index)

        # 进行数据处理,这里简单示范,可以根据实际需求进行更复杂的操作
        processed_value = cell_value * 2

        # 写入新的工作表
        output_sheet.write(row_index, col_index, processed_value)

# 保存结果
output_workbook.save('processed_output.xls')

通过以上实例,我们成功地从一个 Excel 文件读取数据,对数据进行处理,并将结果写入另一个 Excel 文件中。

总的来说,xlrdxlwt 模块提供了强大的功能,使得我们能够轻松进行 Excel 数据的读取和写入,同时通过高级应用可以处理更复杂的场景。这些工具不仅节省了大量手动操作的时间,还使得数据处理变得更加灵活和可控。希望本文的介绍和示例代码对您在实际工作中使用 xlrd 和 xlwt 模块有所帮助。

5. 异常处理与最佳实践

在使用 xlrdxlwt 进行 Excel 操作时,考虑到实际应用中可能遇到的各种情况,良好的异常处理是必不可少的。以下是一些常见的异常处理和最佳实践:

5.1 异常处理
  • 文件不存在异常处理: 在打开文件时,应该添加文件是否存在的检查,避免程序崩溃。

    import xlrd
    
    file_path = 'example.xlsx'
    
    try:
        workbook = xlrd.open_workbook(file_path)
    except FileNotFoundError:
        print(f"Error: File '{file_path}' not found.")
    
  • 工作表或单元格不存在异常处理: 在访问工作表或单元格时,应该确保它们存在。

    import xlrd
    
    workbook = xlrd.open_workbook('example.xlsx')
    sheet_index = 0
    
    try:
        sheet = workbook.sheet_by_index(sheet_index)
    except IndexError:
        print(f"Error: Sheet at index {sheet_index} not found.")
    
5.2 最佳实践
  • 上下文管理器(with语句): 使用 with 语句可以确保在操作完成或发生异常时正确关闭文件,避免资源泄漏。

    import xlrd
    
    file_path = 'example.xlsx'
    
    try:
        with xlrd.open_workbook(file_path) as workbook:
            sheet = workbook.sheet_by_index(0)
            # 进行其他操作
    except FileNotFoundError:
        print(f"Error: File '{file_path}' not found.")
    
  • 兼容性考虑: 在处理日期等特殊数据时,要注意不同版本的 Excel 可能使用不同的日期表示方式,应进行兼容性处理。

    import xlrd
    from datetime import datetime
    
    def read_excel_date(cell):
        try:
            date_value = xlrd.xldate_as_datetime(cell, 0)  # 0表示使用1900年日期基准
            return date_value.strftime('%Y-%m-%d')
        except xlrd.xldate.XLDateError:
            return "Invalid Date"
    
    workbook = xlrd.open_workbook('dates.xlsx')
    sheet = workbook.sheet_by_index(0)
    
    date_cell = sheet.cell_value(1, 0)
    formatted_date = read_excel_date(date_cell)
    print(f'Formatted Date: {formatted_date}')
    

通过合理的异常处理和最佳实践,可以提高代码的健壮性和可维护性,确保在实际应用中能够更好地应对各种情况。

7. 扩展应用:使用 pandas 进行更便捷的数据处理

虽然 xlrdxlwt 提供了基本的 Excel 操作功能,但在处理大量数据或进行更复杂的数据分析时,使用 pandas 库可能更为便捷和高效。pandas 提供了强大的数据结构和数据分析工具,可以轻松处理 Excel 表格数据。

7.1 安装 pandas

在开始之前,请确保已安装 pandas

pip install pandas
7.2 读取 Excel 数据
import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

# 打印前几行数据
print(df.head())
7.3 数据处理和写入
# 在现有数据框上进行处理
df['New_Column'] = df['Old_Column'] * 2

# 写入到新的 Excel 文件
df.to_excel('output_with_pandas.xlsx', index=False)

pandas 提供了丰富的数据处理和分析功能,例如数据筛选、分组、聚合等,能够大大简化数据操作过程。

8. 结语

本文通过介绍 xlrdxlwt 模块,详细展示了如何在 Python 中实现 Excel 数据的读取和写入,并通过代码示例展示了高级功能、异常处理和最佳实践。同时,引入了 pandas 库作为进阶工具,提高了数据处理的便捷性和灵活性。

在实际应用中,可以根据具体需求选择合适的工具。如果只涉及到基本的 Excel 操作,xlrdxlwt 是不错的选择;而在需要进行更复杂的数据处理和分析时,pandas 则是一个更为强大的工具。

希望本文能够帮助读者更好地理解和应用 Python 中的 Excel 操作相关模块,提高数据处理的效率和质量。

9. 进一步学习和探索

9.1 学习更多 xlrdxlwt 功能
  • 官方文档: 深入研究 xlrdxlwt 的官方文档,了解更多参数和功能。

  • 社区支持: 在相关社区(如Stack Overflow)寻求帮助,了解其他开发者的经验和建议。

9.2 深入学习 pandas
  • 官方文档: pandas 提供了详尽的文档,逐步学习不同功能和用法。

  • 教程和示例: 在线教程和示例可以帮助深入理解 pandas 的应用场景。

9.3 多样化的数据处理场景
  • 实际项目: 尝试在实际项目中应用所学知识,处理真实世界的数据。

  • 数据分析竞赛: 参与数据科学和分析的竞赛平台,如 Kaggle,挑战更复杂的数据处理问题。

9.4 版本控制与团队协作
  • 学习版本控制: 使用工具如 Git 和 GitHub 进行版本控制,有效管理代码和协作。

  • 协作实践: 了解团队协作的最佳实践,与他人合作处理数据处理任务。

10. 持续实践与创新

在学习过程中,不断实践和尝试新的技术是提高技能的关键。通过解决实际问题,挑战自己,不断创新,你将更深入地理解数据处理和分析领域,并在工作中取得更大的成就。祝你在 Python 中的数据处理之旅中取得成功!

11. 其他相关技术建议

11.1 虚拟环境和依赖管理
  • 虚拟环境: 使用虚拟环境(virtual environment)隔离项目之间的依赖,避免不同项目间的冲突。

    # 创建虚拟环境
    python -m venv myenv
    
    # 激活虚拟环境
    source myenv/bin/activate  # 在 Linux/macOS 中
    myenv\Scripts\activate.bat  # 在 Windows 中
    
    # 安装依赖
    pip install xlrd xlwt pandas
    
  • 依赖管理: 使用 requirements.txt 文件记录项目的依赖,方便共享和管理。

    # 生成 requirements.txt 文件
    pip freeze > requirements.txt
    
    # 安装依赖
    pip install -r requirements.txt
    
11.2 数据可视化
  • 数据可视化工具: 学习使用数据可视化工具,如 matplotlibseaborn,将数据以图形方式呈现。

    import matplotlib.pyplot as plt
    import seaborn as sns
    
    # 示例:绘制柱状图
    sns.barplot(x='Category', y='Value', data=df)
    plt.show()
    
11.3 持续学习
  • 在线课程: 参加在线课程,如 Coursera、edX 等平台上的数据科学和 Python 编程课程。

  • 书籍阅读: 阅读经典的数据科学和 Python 编程书籍,不断扩充知识面。

11.4 实践项目
  • 个人项目: 尝试开展个人项目,从中学到更多实际经验。

  • 贡献开源: 考虑贡献到开源项目,了解开源社区的协作方式。

12. 持续改进

在技术领域,持续改进是至关重要的。保持对新技术和行业趋势的敏感性,参与社区和行业讨论,不断学习和改进自己的技能。随着技术的发展,你会发现越来越多的可能性和机会等待着你。

13. 持续研究新技术和趋势

13.1 了解机器学习和深度学习
  • 学习资源: 深入学习机器学习和深度学习,了解常用的框架如 TensorFlow 和 PyTorch。

    pip install tensorflow pytorch
    
  • 实践项目: 参与机器学习项目,应用模型解决实际问题。

13.2 掌握其他数据处理工具
  • NumPy 和 SciPy: 学习使用 NumPy 处理数组和矩阵,以及 SciPy 提供的科学计算工具。

    pip install numpy scipy
    
  • Scikit-learn: 掌握 Scikit-learn,一个用于机器学习和数据挖掘的工具。

    pip install scikit-learn
    
13.3 数据库和大数据处理
  • 数据库: 学习使用数据库工具如 SQLite、MySQL、MongoDB 等,处理大规模数据。

  • 大数据处理: 了解大数据处理工具,如 Apache Hadoop 和 Apache Spark。

13.4 网络爬虫和数据采集
  • Beautiful Soup 和 Scrapy: 学习使用 Beautiful Soup 和 Scrapy 进行网络爬虫和数据采集。

    pip install beautifulsoup4 scrapy
    
13.5 持续参与社区
  • 开源社区: 参与开源社区,学习他人的经验,分享自己的见解。

  • 社交媒体: 关注技术领域的社交媒体和博客,了解行业趋势。

14. 发展职业道路

14.1 构建个人品牌
  • 个人博客: 创建个人博客分享技术文章和项目经验,建立个人品牌。

  • GitHub: 在 GitHub 上分享自己的项目,参与开源社区。

14.2 继续学术深造
  • 学术研究: 考虑深入学术领域,攻读硕士或博士学位,参与研究项目。
14.3 实践领导力和团队合作
  • 领导力培养: 参与领导小组或项目,培养领导力和团队协作能力。

  • 团队协作: 学习与团队协作、项目管理相关的技能。

16. 持续关注行业动态和技术会议

16.1 参与技术社区
  • 在线社区: 加入技术社区如 Stack Overflow、Reddit 等,分享问题和解答。

  • 本地用户组: 参与本地技术用户组或 Meetup 活动,与同行交流经验。

16.2 参加技术会议和研讨会
  • 全球大会: 考虑参加全球性的技术会议,如 PyCon、Data Science conferences 等。

  • 本地研讨会: 参与本地举办的技术研讨会,了解本地技术社区的发展。

16.3 订阅技术新闻和博客
  • 行业新闻: 订阅技术新闻网站和博客,随时了解行业动态和新技术。

  • 订阅专业期刊: 考虑订阅相关领域的专业期刊,深入了解前沿技术。

17. 制定职业发展计划

17.1 设定短期和长期目标
  • 明确方向: 确定自己感兴趣的领域,并为之设定清晰的短期和长期目标。

  • 技能提升: 列出需要提升的技能,并制定学习计划,逐步实现目标。

17.2 寻求导师和反馈
  • 导师关系: 寻找导师或 mentor,获取指导和反馈,加速职业发展。

  • 360度反馈: 定期寻求同事和领导的反馈,不断改进自己的工作表现。

17.3 持续学历和证书
  • 学历提升: 考虑继续深造,攻读硕士或博士学位,拓展学术背景。

  • 专业认证: 考虑取得相关领域的专业认证,提升自己在职场的竞争力。

18. 调适工作与生活平衡

18.1 健康优先
  • 定期锻炼: 定期进行身体锻炼,保持身心健康。

  • 良好睡眠: 确保每晚足够的睡眠,保持精力充沛。

18.2 管理工作压力
  • 任务管理: 使用任务管理工具,合理安排工作和学习任务。

  • 学会拒绝: 学会适时拒绝一些额外的工作,保持工作的可控性。

19. 持续提升沟通和团队协作技能

19.1 学会有效沟通
  • 清晰表达: 学会用简洁明了的语言清晰表达自己的想法。

  • 倾听他人: 重视倾听,尊重他人意见,提高团队协作效率。

19.2 团队合作与领导力
  • 积极参与: 积极参与团队合作,分享经验,解决问题。

  • 领导力培养: 发展领导力,能够在团队中引导和激励他人。

20. 持续反思与调整计划

20.1 定期回顾计划
  • 季度回顾: 每季度回顾职业发展计划,调整目标和计划。

  • 学习经验: 反思过去的学习和工作经验,总结经验教训。

20.2 调整计划
  • 灵活调整: 计划是动态的,随时根据实际情况进行灵活调整。

  • 持续学习: 保持对新技术和行业趋势的学习,不断适应变化。

祝愿你在职业生涯中获得持续的成功和满足感!希望以上建议能够帮助你规划和实现自己的职业发展目标。

总结:走向成功的职业发展之路

在这篇文章中,我们探讨了走向成功的职业发展之路所需的关键步骤和建议。从学习 Python 中的数据处理开始,我们深入了解了 xlrdxlwt 模块,展示了如何自动化操作 Excel 表格。通过实际的代码示例,我们学习了如何读取和写入 Excel 数据,处理日期和格式化,设置单元格样式,以及异常处理和最佳实践。

随后,我们引入了 pandas 库,这是一个强大的数据处理工具,能够更便捷地进行数据操作和分析。我们还提到了其他相关技术建议,包括虚拟环境和依赖管理、数据可视化、网络爬虫、持续学习等。

进一步,我们分享了关于持续学习和发展的建议,包括了解新技术和趋势、参与技术社区、参加技术会议、制定职业发展计划等。此外,我们强调了工作与生活的平衡,健康优先,以及沟通和团队协作的重要性。

最后,我们提出了关于调整计划和持续反思的建议,鼓励读者定期回顾职业发展计划,灵活调整,不断学习适应变化。整个文章的目标是为读者提供一系列有实际操作性的建议,帮助他们在职业生涯中取得成功,并找到工作与生活的平衡。

在职业发展的路上,持续学习、不断提升技能、灵活适应变化是至关重要的。愿每一位读者都能在自己的职业道路上取得显著的成就和不断的进步。前路漫漫,愿你的职业生涯蓬勃发展!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CentOS7 安装SSH

说实话,感觉CentOS有点难用。初始配置不是很友好,连自动获取IP地址都是关着的。当然,我这里本地用的是虚拟机。 开启获取IP 首先是获取IP地址,这是一些的起点。 首先使用ip addr 看看网卡地址和名称。我这边是ens33。然后打开自…

浅析SpringBoot框架常见未授权访问漏洞

文章目录 前言Swagger未授权访问RESTful API 设计风格swagger-ui 未授权访问swagger 接口批量探测 Springboot Actuator未授权访问数据利用未授权访问防御手段漏洞自动化检测工具 CVE-2022-22947 RCE漏洞原理分析与复现漏洞自动化利用工具 其他常见未授权访问Druid未授权访问漏…

Ps:原色通道直方图(CMYK)

在 CMYK 颜色模式下,Photoshop 的“通道”面板中有青色、洋红、黄色及黑色四个原色通道。 与 RGB 颜色模式基于光的加法混合不同,CMYK 颜色模式基于颜料的减法混合,更适合反映实际印刷中油墨的使用情况。 默认情况下,CMYK 原色通道…

【扩散模型】【网络结构探索】神经网络扩散:Neural Network Diffusion(论文解读)

项目地址:https://github.com/NUS-HPC-AI-Lab/Neural-Network-Diffusion 文章目录 摘要一、前言二、Nerual Network Diffusion (神经网络扩散)2.1扩散模型(预备知识)2.2 总览2.3 参数自动编码器2.4 参数生成 三、实验3…

多输入时序预测|GWO-CNN-LSTM|灰狼算法优化的卷积-长短期神经网络时序预测(Matlab)

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 灰狼优化算法: 卷积神经网络-长短期记忆网络: 四、完整程序下载: 一、程序及算法内容…

v-rep插件

v-rep官网插件汉化教程 官网教程 插件是什么 插件本质上就是遵循一定规范的API编写出来的程序,在v-rep中最终需要编译为动态库。 linux下是libsimXXXX.so; 其中XXXX是插件的名称。 请至少使用4个字符,并且不要使用下划线,因为…

【MySQL】数据类型(常见类型)-- 详解

一、数据类型分类 二、数值类型 1、tinyint 类型 在 MySQL 中,整型可以指定是有符号的和无符号的,默认是有符号的。 有符号: 插入数据越界测试: 在 MySQL 表中建立属性列时,我们可以发现列名称在前,类型在…

互联网加竞赛 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列&#x…

IO进程线程复习

标准IO&#xff1a; 1.打开文件 #include<myhead.h>int main(int argc, const char *argv[]) {//定义文件指针FILE *fpNULL;//以只读的形式打开文件//fpfopen("./text.txt","r");//以只写的形式打开文件fpfopen("./time.c","w"…

蓝桥杯:真题讲解2(C++版)附带解析

星系炸弹 来自&#xff1a;2015年六届省赛大学B组真题&#xff08;共6道题) 分析&#xff1a;这题涉及到平年和闰年的知识&#xff0c;如果我们要解这题&#xff0c;首先要知道每月有多少天&#xff0c;其实也就是看2月份的天数&#xff0c;其它月份的天数都是一样的&#xff…

飞行机器人专栏(十三)-- 智能优化算法之粒子群优化算法与多目标优化

一、理论基础 1.1 引言 粒子群优化算法&#xff08;Particle Swarm Optimization, PSO&#xff09;自1995年由Eberhart和Kennedy提出以来&#xff0c;已经成为解决优化问题的一种有效且广泛应用的方法。作为一种进化计算技术&#xff0c;PSO受到社会行为模式&#xff0c;特别是…

金南瓜SECS/GEM如何添加工程?

公开资料皆为是2、3年前版本 编译SecsEquip.dll依赖库 ① 打开示例程序中的SecsEquip项目 ② 选中SecsEquip工程&#xff0c;右键选择属性 如果没有“解决方案资源管理器”页面&#xff0c;可以从菜单的“视图”->“解决方案资源管理器”打开 ③ 选择跟设备相同的NET版本…

2月24日(周六)比赛前瞻:曼联 VS 富勒姆、拜仁 VS 莱比锡

大家好&#xff0c;博主将持续更新胜负14场前瞻&#xff0c;此处每日赛事间歇更新&#xff0c;胃信号每日更新。 精选赛事&#xff1a;曼联 VS 富勒姆 曼联近期状态显著提升&#xff0c;上一轮联赛客场2-1战胜卢顿&#xff0c;连续7场正赛取得6胜1平的成绩&#xff0c;保持不败…

基于JAVA的二手车交易系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手车档案管理模块2.3 车辆预约管理模块2.4 车辆预定管理模块2.5 车辆留言板管理模块2.6 车辆资讯管理模块 三、系统设计3.1 E-R图设计3.2 可行性分析3.2.1 技术可行性分析3.2.2 操作可行性3.2.3 经济…

K8S-001-Virtual box - Network Config

A. 配置两个IP&#xff0c; 一个连接内网&#xff0c;一个链接外网: 1. 内网配置(Host only&#xff0c; 不同的 virutal box 的版本可以不一样&#xff0c;这些窗口可能在不同的地方&#xff0c;但是配置的内容是一样的): 静态IP 动态IP 2. 外网&#xff08;创建一个 Networ…

六、回归与聚类算法 - 模型保存与加载

目录 1、API 2、案例 欠拟合与过拟合线性回归的改进 - 岭回归分类算法&#xff1a;逻辑回归模型保存与加载无监督学习&#xff1a;K-means算法 1、API 2、案例

__proto__和protype的区别

概述&#xff1a; prototype 函数静态属性&#xff0c;非实例属性,所有实例都可以继承它 __proto__ 实例属性&#xff0c;指向实例的原型对象&#xff0c;原型对象包括构造函数和protype属性 替代 现代浏览器中可以使用Object.getPrototypeOf()来替代__proto__来获取原型对象 …

EasyRecovery2024永久免费版手机数据恢复软件功能全面介绍

一、功能概述 EasyRecovery手机数据恢复软件是一款专为移动设备设计的数据恢复工具。它能够有效地从智能手机、平板电脑等移动设备中恢复因各种原因丢失的数据&#xff0c;包括但不限于误删除、格式化、系统崩溃、病毒感染等。 EasyRecovery-mac最新版本下载:https://wm.maked…

红日靶场3

靶场链接&#xff1a;漏洞详情 在虚拟机的网络编辑器中添加两个仅主机网卡 信息搜集 端口扫描 外网机处于网端192.168.1.0/24中&#xff0c;扫描外网IP端口&#xff0c;开放了80 22 3306端口 80端口http服务&#xff0c;可以尝试登录网页 3306端口mysql服务&#xff0c;可…

Java最全面试总结——6.Springboot篇

1、为什么要用SpringBoot Spring Boot 优点非常多&#xff0c;如&#xff1a; 一、独立运行 Spring Boot而且内嵌了各种servlet容器&#xff0c;Tomcat、Jetty等&#xff0c;现在不再需要打成war包部署到容器 中&#xff0c;Spring Boot只要打成一个可执行的jar包就能独立运行…