Python酷库之旅-比翼双飞情侣库(17)

目录

一、xlwt库的由来

1、背景和需求

2、项目启动

3、功能特点

4、版本兼容性

5、与其他库的关系

6、示例和应用

7、发展历史

二、xlwt库优缺点

1、优点

1-1、简单易用

1-2、功能丰富

1-3、兼容旧版Excel

1-4、社区支持

1-5、稳定性

2、缺点

2-1、不支持`.xlsx`格式

2-2、不支持读取Excel文件

2-3、Python 3兼容性

2-4、功能限制

2-5、性能

三、xlwt库的版本说明

1、最新版本

2、Python版本兼容性

3、功能

4、限制

5、更新状态

6、安装与使用

四、如何学好xlwt库?

1、获取xlwt库的属性和方法

2、获取xlwt库的帮助信息

3、实战案例

3-6、新建工作簿,并以新名称保存

3-7、保存工作簿

3-8、向单元格输入数值

3-9、向单元格输入字符串

3-10、向单元格输入数字字符串

3-11、向单元格输入日期

3-12、向单元格输入时间

3-13、向单元格输入分数

3-14、向单元格输入邮政编码

3-15、向连续的单元格行区域一次性输入不同的数据

3-16、向连续的单元格列区域一次性输入不同的数据

3-17、向单元格区域一次性输入相同的数据

3-18、通过数组向单元格区域一次性输入数据

3-19、向单元格区域输入连续值

3-20、向单元格区域输入连续的日期

3-21、向单元格区域输入连续的字符

3-22、向单元格区域输入公式(A1格式)

3-23、向单元格区域输入公式(R1C1格式)

3-24、向单元格区域输入数组公式

3-25、替换单元格内的字符(Replace方法)

3-26、替换单元格内的字符(工作表函数)

3-27、设置单元格字符串中一部分字符的格式(上标/下标)

3-28、设置单元格字体的下划线

3-29、设置单元格的字体属性(字体、字号、加粗、斜体、颜色等)

五、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

        在Excel中,通常所说的“情侣键”并非官方术语,而是对某些常用且经常成对出现的快捷键的一种形象化的称呼。其中,最为人熟知和广泛使用的“情侣键”是“Ctrl+C”和“Ctrl+V”。

1、Ctrl+C:这个快捷键的作用是“拷贝”或“复制”。当你在Excel中选中某个单元格、一行、一列或整个工作表的内容后,按下Ctrl+C键,这些内容就会被复制到计算机的剪贴板中,等待下一步的粘贴操作。
2、Ctrl+V:这个快捷键的作用是“粘贴”。在你按下Ctrl+C键将内容复制到剪贴板后,可以通过按下Ctrl+V键将这些内容粘贴到Excel中的另一个位置,这两个操作经常是连续进行的,因此Ctrl+C和Ctrl+V就像一对“情侣”,总是成对出现。

        除了这对常见的“情侣键”外,Excel中还有许多其他的快捷键可以帮助用户更高效地完成各种操作。然而,这些快捷键通常并没有像Ctrl+C和Ctrl+V那样形成特定的“情侣”关系。

        然而,今天我不再展开介绍“情侣键”,而是要重点推介Python中的“情侣库”,即xlrd和xlwt两个第三方库。

一、xlwt库的由来

        xlwt库的由来可以追溯到Python社区中对于Excel文件处理的需求。以下是关于xlwt库由来的清晰归纳:

1、背景和需求

1-1、在Python中处理Excel文件是一个常见的需求,无论是进行数据分析、报告生成还是其他与表格数据相关的任务。
1-2、早期,Python社区缺乏一个直接、高效且功能全面的库来创建和修改Excel文件。

2、项目启动

2-1、为了满足这一需求,python-excel组织(或相关的开发者社区)启动了xlwt项目。
2-2、xlwt作为python-excel组织的一个子项目,旨在提供一个用于在Python中创建、修改和操作.xls格式电子表格文件的库

3、功能特点

3-1、xlwt库允许用户创建新的.xls文件。
3-2、它支持将数据写入.xls文件中的特定单元格。
3-3、用户可以设置单元格样式,如字体、颜色、对齐方式等。
3-4、xlwt还支持设置行高和列宽,以及在工作表中插入图片。

4、版本兼容性

4-1、xlwt最初是为Python 2.x版本设计的,但随着Python 3.x的发布,许多库都进行了更新以适应新版本。
4-2、对于Python 3.x,开发者可能需要使用xlwt的更新版本或寻找其他兼容的库。

5、与其他库的关系

5-1、xlwt是python-excel组织维护的一系列与Excel文件处理相关库的一部分。
5-2、另一个常用的库是xlrd,它是xlwt的配套库,专门用于读取Excel文件。

6、示例和应用

6-1、xlwt库通过提供简单的API和丰富的功能,使得Python开发者能够轻松地进行数据分析和报告生成。
6-2、它可以与其他数据处理库(如Pandas或Numpy)结合使用,以实现更高级的数据操作。

7、发展历史

7-1、随着Python版本的不断更新和Excel文件格式的演变,xlwt库也进行了相应的更新和改进。例如,从Python 2.x到3.x的过渡期间,xlwt库也进行了必要的更新以保持与新版本Python的兼容性。

        总之,xlwt库是Python社区为满足处理Excel文件需求而开发的一个强大工具。它通过提供丰富的功能和简单的API,使得Python开发者能够轻松地进行Excel文件的创建、修改和操作。

二、xlwt库

        xlwt库是用于在Python中创建和写入Excel文件的库,它专注于`.xls`格式的Excel文件(基于BIFF 8的Excel 97-2003工作簿)。以下是xlwt库的一些优点和缺点:

1、优点
1-1、简单易用

        xlwt提供了简洁明了的API,使得开发者可以轻松地创建和写入Excel文件。

1-2、功能丰富

        虽然专注于写入Excel文件,但xlwt仍然支持多种特性,如设置单元格样式(字体、颜色、对齐方式等)、设置行高和列宽、合并单元格等。

1-3、兼容旧版Excel

        xlwt生成的`.xls`文件与Excel 97-2003兼容,这意味着你可以在旧版本的Excel中打开这些文件。

1-4、社区支持

        作为一个流行的Python库,xlwt有广泛的社区支持和文档,可以帮助开发者快速上手并解决问题。

1-5、稳定性

        xlwt库已经存在多年,并在多个项目中经过了实践检验,因此在稳定性方面表现出色。

2、缺点
2-1、不支持`.xlsx`格式

        xlwt仅支持Excel 97-2003的`.xls`格式,而不支持较新的`.xlsx`格式(基于Office Open XML)。如果你需要处理`.xlsx`文件,你可能需要使用其他库,如openpyxl或xlsxwriter。

2-2、不支持读取Excel文件

        xlwt是一个专门的写入库,它不提供读取Excel文件的功能。如果你需要读取Excel文件,你需要使用另一个库,如xlrd(注意:xlrd在较新的版本中已经不再支持`.xlsx`文件)。

2-3、Python 3兼容性

        虽然xlwt在Python 2中非常流行,但它最初是为Python 2设计的。虽然有一些第三方维护的版本试图提供Python 3的兼容性,但官方版本可能不再支持Python 3的最新特性。

2-4、功能限制

        由于xlwt的设计初衷是创建一个轻量级的、易于使用的库,因此它可能缺少一些高级功能,如处理图表、数据透视表或宏等。

2-5、性能

        在处理大型Excel文件时,xlwt的性能可能不是最优的。对于大型数据集,可能需要考虑使用更高效的库或方法。

        综上所述,xlwt是一个强大的工具,用于在Python中创建和写入Excel 97-2003格式的`.xls`文件,然而,它也有一些限制,特别是对于那些需要处理`.xlsx`文件或需要读取Excel文件的开发者来说,在选择是否使用xlwt时,你应该根据你的具体需求进行权衡。

三、xlwt库的版本说明

        xlwt库的版本说明如下:

1、最新版本

        目前(截至2024年6月)xlwt库的最新版本为"1.3.0"。此版本主要支持Python 2.x系列以及Python 3.x的部分版本,用于创建和写入Excel 97-2003的`.xls`格式文件。

2、Python版本兼容性

        xlwt库在Python 2.6, 2.7, 3.3+等版本上得到支持。请注意,Python 2.x和Python 3.x在语法和特性上存在显著差异,因此虽然xlwt可以在这些版本上运行,但可能需要针对特定的Python版本进行微调。

3、功能

        xlwt库允许开发者在Python中创建Excel工作簿、工作表,并向单元格写入数据。它还支持设置单元格样式、合并单元格等功能。

4、限制

        xlwt库不支持Excel 2007及以后版本的`.xlsx`格式文件。如果你需要处理`.xlsx`文件,可以考虑使用其他库,如openpyxl或xlsxwriter。
        xlwt库仅提供写入Excel文件的功能,不支持读取Excel文件。如果你需要读取Excel文件,可以考虑使用xlrd库(但请注意,xlrd库在新版本中也不再支持`.xlsx`格式)。

5、更新状态

        xlwt库在一段时间内已经相对稳定,但需要注意的是,它的最后一个官方更新发布于2017年8月22日,这意味着该库可能不再接收新的功能更新或错误修复。尽管如此,由于其广泛的社区支持和稳定性,xlwt仍然是一个可靠的选择,特别是在处理旧版Excel文件时。

6、安装与使用

        你可以通过pip命令在Python环境中安装xlwt库:pip install xlwt。安装完成后,你可以通过导入xlwt模块并使用其提供的API来创建和写入Excel文件。

        总之,xlwt库是一个用于在Python中创建和写入Excel 97-2003格式文件的库,它在Python 2.x和3.x的部分版本上得到支持。虽然它不支持`.xlsx`格式文件且仅提供写入功能,但由于其稳定性和广泛的社区支持,它仍然是一个在处理旧版Excel文件时的可靠选择。

四、如何学好xlwt库?

1、获取xlwt库的属性和方法

        用print()和dir()两个函数获取xlwt库所有属性和方法的列表

# ['ANTLRException', 'Alignment', 'BIFFRecords', 'Bitmap', 'Borders', 'Cell', 'Column', 'ExcelFormula', 
# 'ExcelFormulaLexer', 'ExcelFormulaParser', 'ExcelMagic', 'Font', 'Formatting', 'Formula', 'Pattern',
# 'Protection', 'Row', 'Style', 'UnicodeUtils', 'Utils', 'Workbook', 'Worksheet', 'XFStyle', '__VERSION__', 
# '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', 
# '__spec__', 'add_palette_colour', 'antlr', 'compat', 'easyfont', 'easyxf', 'struct']
2、获取xlwt库的帮助信息

        用help()函数获取xlwt库的帮助信息

Help on package xlwt:

NAME
    xlwt

PACKAGE CONTENTS
    BIFFRecords
    Bitmap
    Cell
    Column
    CompoundDoc
    ExcelFormula
    ExcelFormulaLexer
    ExcelFormulaParser
    ExcelMagic
    Formatting
    Row
    Style
    UnicodeUtils
    Utils
    Workbook
    Worksheet
    antlr
    compat

DATA
    __VERSION__ = '1.3.0'

FILE
    e:\python_workspace\pythonproject\lib\site-packages\xlwt\__init__.py
3、实战案例
3-6、新建工作簿,并以新名称保存
# 6、新建工作簿,并以新名称保存
import xlwt
# 创建一个新的Workbook对象
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表,并指定其名称
worksheet = workbook.add_sheet('Sheet1')
# 写入一些数据到工作表中(可选)
worksheet.write(0, 0, 'Hello, World!')
# 保存Workbook到文件,这里指定了新名称 'new_workbook.xls'
workbook.save('new_workbook.xls')
3-7、保存工作簿
# 7、保存工作簿
import xlwt
# 创建一个新的Workbook对象
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表,并为其命名
worksheet = workbook.add_sheet('My Sheet')
# 在工作表中写入数据
worksheet.write(1, 0, 'Hello')  # 在第1行第1列(Excel中的A1位置)写入'Hello'
worksheet.write(1, 1, 'World')  # 在第1行第2列(Excel中的B1位置)写入'World'
# 保存工作簿到指定的文件
workbook.save('my_workbook.xls')
3-8、向单元格输入数值
# 8、向单元格输入数值
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表
sheet = workbook.add_sheet("Sheet1")
# 向单元格 A1 输入数值 123
# 参数1: 行索引(从0开始)
# 参数2: 列索引(从0开始,对应于Excel中的A, B, C等)  
# 参数3: 要写入的数值或字符串
sheet.write(0, 0, 123)
# 向单元格 B2 输入数值 456.78
sheet.write(1, 1, 456.78)
# 保存工作簿
workbook.save("example.xls")
3-9、向单元格输入字符串
# 9、向单元格输入字符串
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表
sheet = workbook.add_sheet("Sheet1")
# 向单元格 A1 输入字符串 "Hello, World!"
# 参数1: 行索引(从0开始)
# 参数2: 列索引(从0开始,对应于Excel中的A, B, C等)
# 参数3: 要写入的字符串
sheet.write(0, 0, "Hello, World!")
# 你可以继续向其他单元格写入字符串
sheet.write(1, 0, "这是第二行的数据")
sheet.write(0, 1, "这是B列的数据")
# 保存工作簿
workbook.save("example.xls")
3-10、向单元格输入数字字符串
# 10、向单元格输入数字字符串
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表
sheet = workbook.add_sheet("Sheet1")
# 向单元格 A1 输入数字字符串 "123"
# 注意:这里我们直接传递了一个字符串,但它在 Excel 中仍然会被视为文本
sheet.write(0, 0, "123")
# 保存工作簿
workbook.save("example.xls")
3-11、向单元格输入日期
# 11、向单元格输入日期
import xlwt
from datetime import datetime, timedelta
# 创建一个新的工作簿和一个新的工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 设置日期格式
date_style = xlwt.XFStyle()
date_style.num_format_str = 'YYYY-MM-DD'
# 设置起始日期
start_date = datetime(2024, 6, 19)
# 设置起始单元格位置
start_row, start_col = 1, 1  # 例如,从B2开始输入日期
worksheet.write(start_row , start_col, start_date, date_style)
# 保存工作簿
workbook.save('dates_output.xls')
3-12、向单元格输入时间
# 12、向单元格输入时间
import xlwt
from datetime import datetime, timedelta
# 创建一个新的工作簿和一个新的工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 设置时间格式
time_style = xlwt.XFStyle()
time_style.num_format_str = 'HH:MM:SS'
# 设置起始时间
start_time = datetime(2024, 1, 1, 8, 0, 0)  # 2024年1月1日08:00:00
# 设置起始单元格位置
start_row, start_col = 1, 1  # 例如,从B2开始输入时间
# 设置连续的时间数量和时间间隔(例如,每隔1小时)
num_times = 10
time_interval = timedelta(hours=1)
# 将连续的时间写入Excel
for i in range(num_times):
    time = start_time + i * time_interval
    worksheet.write(start_row + i, start_col, time, time_style)
# 保存工作簿
workbook.save('times_output.xls')
3-13、向单元格输入分数
# 13、向单元格输入分数
import xlwt
# 创建一个新的工作簿和工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 定义分子和分母
numerator = 3
denominator = 4
# 格式化分数
fraction = f"{numerator}/{denominator}"
# 向单元格(0, 0)写入分数
worksheet.write(0, 0, fraction)
# 保存工作簿
workbook.save('fractions.xls')
3-14、向单元格输入邮政编码
# 14、向单元格输入邮政编码
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表
sheet = workbook.add_sheet("Sheet1")
# 邮政编码作为字符串
postal_code = "123456"
# 写入邮政编码到单元格 A1
sheet.write(0, 0, postal_code)
# 保存工作簿
workbook.save("example_with_postal_code.xls")
3-15、向连续的单元格行区域一次性输入不同的数据
# 15、向连续的单元格行区域一次性输入不同的数据
import xlwt
# 创建一个新的工作簿和工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 定义要输入的数据
data = [
    [1, 'Myelsa', 85],
    [2, 'Bryce', 90],
    [3, 'Jimmy', 95],
    [4, 'Lucy', 80]
]
# 将数据写入到连续的单元格行区域
for row_index, row_data in enumerate(data):
    for col_index, cell_data in enumerate(row_data):
        worksheet.write(row_index, col_index, cell_data)
# 保存工作簿
workbook.save('students_scores.xls')
3-16、向连续的单元格列区域一次性输入不同的数据
# 16、向连续的单元格列区域一次性输入不同的数据
import xlwt
# 创建一个新的工作簿和工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 定义要输入的数据
data = [
    [1, 2, 3, 4],
    ['Myelsa', 'Bryce', 'Jimmy', 'Lucy'],
    [85, 90, 95, 80]
]
# 将数据写入到连续的单元格列区域
for col_index, col_data in enumerate(data):
    for row_index, cell_data in enumerate(col_data):
        worksheet.write(row_index, col_index, cell_data)
# 保存工作簿
workbook.save('students_scores_by_column.xls')
3-17、向单元格区域一次性输入相同的数据
# 17、向单元格区域一次性输入相同的数据
import xlwt
# 创建一个新的工作簿和工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 定义要输入的数据和区域
data = 'Hello'
start_row, start_col = 1, 1  # 起始单元格(行和列,从0开始)
end_row, end_col = 5, 5  # 结束单元格(行和列,从0开始)
# 将相同的数据写入指定的单元格区域
for row in range(start_row, end_row + 1):
    for col in range(start_col, end_col + 1):
        worksheet.write(row, col, data)
# 保存工作簿
workbook.save('same_data_region.xls')
3-18、通过数组向单元格区域一次性输入数据
# 18、通过数组向单元格区域一次性输入数据
import xlwt
# 创建一个新的工作簿和一个新的工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 待输入的二维数组数据
data_array = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
# 设置起始单元格位置
start_row, start_col = 1, 1  # 例如,从B2开始输入数据
# 将数组数据写入Excel
for i, row_data in enumerate(data_array):
    for j, value in enumerate(row_data):
        worksheet.write(start_row + i, start_col + j, value)
# 保存工作簿
workbook.save('output.xls')
3-19、向单元格区域输入连续值
# 19、向单元格区域输入连续值
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表
sheet = workbook.add_sheet("Sheet1")
# 我们要填充的单元格区域是3x3,从(0, 0)到(2, 2)
for row in range(3):
    for col in range(3):
        # 计算当前单元格的值(从1开始)
        value = (row * 3) + col + 1
        # 写入值到单元格
        sheet.write(row, col, value)
# 保存工作簿
workbook.save("example_with_consecutive_values.xls")
3-20、向单元格区域输入连续的日期
# 20、向单元格区域输入连续的日期
import xlwt
from datetime import datetime, timedelta
# 创建一个新的工作簿和一个新的工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 设置日期格式
date_style = xlwt.XFStyle()
date_style.num_format_str = 'YYYY-MM-DD'
# 设置起始日期
start_date = datetime(2024, 6, 19)
# 设置起始单元格位置
start_row, start_col = 1, 1  # 例如,从B2开始输入日期
# 设置连续的日期数量
num_days = 10
# 将连续的日期写入Excel
for i in range(num_days):
    date = start_date + timedelta(days=i)
    worksheet.write(start_row + i, start_col, date, date_style)
# 保存工作簿
workbook.save('dates_output.xls')
3-21、向单元格区域输入连续的字符
# 21、向单元格区域输入连续的字符
import xlwt
# 创建一个新的工作簿和一个新的工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 设置起始单元格位置
start_row, start_col = 1, 1  # 例如,从B2开始输入字符
# 设置要写入的连续字符
characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
# 将连续的字符写入Excel
for i, char in enumerate(characters):
    worksheet.write(start_row + i, start_col, char)
# 保存工作簿
workbook.save('characters_output.xls')
3-22、向单元格区域输入公式(A1格式)
# 22、向单元格区域输入公式(A1格式)
import xlwt
# 创建一个新的工作簿和一个新的工作表
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 设置起始单元格位置
start_row, start_col = 1, 1  # 例如,从B2开始输入公式
# 设置要写入的公式
formulas = [
    "SUM(A1:A10)",
    "AVERAGE(A1:A10)",
    "MAX(A1:A10)",
    "MIN(A1:A10)"
]
# 将公式写入Excel
for i, formula in enumerate(formulas):
    worksheet.write(start_row + i, start_col, xlwt.Formula(formula))
# 保存工作簿
workbook.save('formulas_output.xls')
3-23、向单元格区域输入公式(R1C1格式)
略,xlwt库不支持此功能,需要借助其他库实现
3-24、向单元格区域输入数组公式
略,xlwt库不支持此功能,需要借助其他库实现
3-25、替换单元格内的字符(Replace方法)
略,xlwt库不支持此功能,需要借助其他库实现
3-26、替换单元格内的字符(工作表函数)
略,xlwt库不支持此功能,需要借助其他库实现
3-27、设置单元格字符串中一部分字符的格式(上标/下标)
略,xlwt库不支持此功能,需要借助其他库实现
3-28、设置单元格字体的下划线
# 28、设置单元格字体的下划线
import xlwt
# 创建一个工作簿和一个工作表
workbook = xlwt.Workbook(encoding="utf-8")
sheet = workbook.add_sheet('Sheet1')
# 创建一个字体样式
font = xlwt.Font()
font.name = 'Arial'  # 字体名称
font.bold = True  # 是否加粗
font.underline = xlwt.Font.UNDERLINE_SINGLE  # 下划线
font.colour_index = 1  # 字体颜色(索引值,1为红色)
# 创建一个样式对象
style = xlwt.XFStyle()
style.font = font
# 写入带有字体样式的单元格
sheet.write(0, 0, 'Hello, World!', style)
# 保存工作簿
workbook.save('styled_excel.xls')
3-29、设置单元格的字体属性(字体、字号、加粗、斜体、颜色等)
# 29、设置单元格的字体属性(字体、字号、加粗、斜体、颜色等)
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook(encoding="utf-8")
# 添加一个新的工作表
worksheet = workbook.add_sheet("Sheet1")
# 创建字体样式对象
style = xlwt.XFStyle()
font = xlwt.Font()
font.name = 'Arial'  # 字体名称
font.bold = True  # 加粗
font.italic = True  # 斜体
font.height = 20 * 20  # 字号(需要乘以20进行转换)
# 注意:xlwt 不支持直接设置字体颜色
# 将字体添加到样式对象中
style.font = font
# 使用样式对象写入单元格
worksheet.write(0, 0, "Hello, World!", style)
# 保存工作簿
workbook.save("example_with_font_styles.xls")

五、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

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

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

相关文章

LVGL开发教程-Flex(弹性布局)

系列文章目录 知不足而奋进 望远山而前行 目录 系列文章目录 文章目录 前言 1.常用方法 2.代码实现 3.对齐方式 4.控件特殊的size 总结 前言 Flexbox布局在现代界面设计中扮演着重要角色,特别是在响应式和动态布局方面。LVGL(LittlevGL&#x…

Dockerfile封装制作pytorch(tensorflow)深度学习框架 + jupyterlab服务 + ssh服务镜像

一:docker-hub官网寻找需求镜像 1.我们在https://hub.docker.com/官网找到要封装的pytorch基础镜像,这里我们以pytorch1.13.1版本为例 2.我们找到的这个devel版本的镜像(我们需要cuda的编译工具) pytorch版本是1.13.1,…

气体泄露隐患多,佛山工业可燃气体报警器年检校准来帮忙

在佛山这座工业发达的城市,可燃气体报警器的应用日益广泛,涉及化工、冶金、石油等多个领域。 然而,长时间的使用和恶劣的工业环境可能导致报警器的性能下降,甚至出现误报或漏报的情况。 因此,定期对可燃气体报警器进…

OPenCV实现把人形轮廓画在实时视频画面中

操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:Visual Studio Code编程语言:C11 1.功能描述 当你从摄像头读取实时视频时,如果想在视频的画面中画一个方框,或者是画一个圆,是很简单的事情,可是…

VMR,支持30+种编程语言的SDK版本管理器,支持Windows/MacOS/Linux。

官方文档地址:documents 官方项目地址:github 欢迎安装使用,分享转发,前往github star。 跨平台,支持Windows,Linux,MacOS支持多种语言和工具,省心受到lazygit的启发,拥…

LLM漫谈(七)| 使用PyTorch从零构建LLM

LLM是最流行AI聊天机器人的核心基础,比如ChatGPT、Gemini、MetaAI、Mistral AI等。在每一个LLM,有个核心架构:Transformer。我们将首先根据著名的论文“Attention is all you need”-https://arxiv.org/abs/1706.03762 来构建Transformer架构…

漏洞挖掘 | 记一次src挖掘-小程序敏感信息泄露

权当是一次漏洞挖掘的思路分享 闲言 就现在的一个web漏洞挖掘强度还是非常高的,所以我们不妨把我们的眼光投向一个之前可能未曾涉及到的区域———小程序 是的微信小程序,这玩意的防范能力和过滤能力其实对比web方向是要弱小很多的 进入正题 以下就是…

详细分析Element Plus的el-pagination基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 需求:从无到有做一个分页并且附带分页的导入导出增删改查等功能 前提一定是要先有分页,作为全栈玩家,先在前端部署一个分页的列表 相关后续的功能,是Java,推荐阅读&#x…

配置环境常规操作

一、看看显卡情况 1、看显卡驱动: nvidia-smi 2、验证cuda是否安装成功 nvcc -V 二、conda创建环境 conda create --name PatchCore_anomaly_detection python3.9 conda activate PatchCore_anomaly_detection 三、配置虚拟环境 cd C:\BaiduNetdiskDownload…

不同表格式下的小文件治理方式(开源RC file/ORC/Text非事务表、事务表、Holodesk表格式..)

友情链接: 小文件治理系列之为什么会出现小文件问题,小文件过多问题的危害以及不同阶段下的小文件治理最佳解决手段 小文件过多的解决方法(不同阶段下的治理手段,SQL端、存储端以及计算端) 概览 在前两篇博文中&am…

OceanBase v4.2 特性解析:支持并发建表,提升OMS导入效率

背景 OceanBase 4.0版本新增了单日志流架构,使得OBServer单机突破了原有的分区数限制,支持更大数量的分区。 很多业务环境为了处理单机数据量过大的问题,通常采取分库分表的方法,这一方法会导致业务需要创建数十万乃至百万级别的…

Java安全

Java安全 Java2Sec靶场搭建 靶场地址 https://github.com/bewhale/JavaSec 查看数据库配置文件,mysql,用户名密码根据自己数据库密码更改 使用小皮面板的mysql,新建一个数据名为javasec的数据库 运行javasec.sql文件 下载运行jar包即可 …

【五子棋】C语言教程

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

【病毒分析】Steloj勒索病毒分析

1.背景 1.1 来源 近期,Solar团队收到某汽车制造公司的援助请求,该公司的计算机服务器受到了Steloj勒索家族的侵害,所有的文件被加密并且添加了.steloj后缀,该勒索软件的初始入侵方式是MSSQL数据库弱口令进行入侵,后续…

NET Core C# 中的Action委托:语法、用法和示例_2024-06-19

Action委托是一个内置的泛型委托类型。此委托使您的程序更具可读性和效率,因为您无需定义自定义委托,如以下示例所示。 它在 System 命名空间下定义。它没有输出参数,输入参数最少为 1 个,最多为 16 个。 Action委托通常用于具有…

JavaScript基础部分知识点总结(Part3)

函数的概念 1. 函数的概念 在JS 里面,可能会定义非常多的相同代码或者功能相似的代码,这些代码可能需要大量重复使用。虽然for循环语句也能实现一些简单的重复操作,但是比较具有局限性,此时我们就可以使用JS 中的函数。函数&…

Springboot整合Zookeeper分布式组件实例

一、Zookeeper概述 1.1 Zookeeper的定义 Zookeeper是一个开源的分布式协调服务,主要用于分布式应用程序中的协调管理。它由Apache软件基金会维护,是Hadoop生态系统中的重要成员。Zookeeper提供了一个高效且可靠的分布式锁服务,以及群集管理…

反激开关电源变压器设计1

特别注意:变压器计算出来的结果没有绝对的对与错 只要再全域范围内工作变压器不饱和就不能说变压器计算不对,(输入全范围,输出全范围,温度度全范围) 在变压器不饱和的情况下,只有优劣之分&…

自然语言处理概述

目录 1.概述 2.背景 3.作用 4.优缺点 4.1.优点 4.2.缺点 5.应用场景 5.1.十个应用场景 5.2.文本分类 5.2.1.一般流程 5.2.2.示例 6.使用示例 7.总结 1.概述 自然语言处理(NLP)是计算机科学、人工智能和语言学的交叉领域,旨在实…

【STM32-启动文件】

STM32-启动文件 ■ STM32-启动文件■ STM32-启动文件主要做了以下工作:■ STM32-启动文件指令■ STM32-启动文件代码详解■ 栈空间的开辟■■■ ■■■■■ ■ STM32-启动文件 STM32 启动文件由 ST 官方提供 启动文件由汇编编写,是系统上电复位后第一个…