Python库与Excel
目录
一、库
1、Python自带的库
2、第三方库
3、第三方库的安装
二、import的用法
三、datetime库
1、处理日期
2、处理时刻
3、局限性
四、random库
1、函数
2、随机种子
3、发牌模拟器
五、jieba库
六、openpyxl库
1、表格读取
2、表格元素遍历
3、工作表的拿取
4、单元格属性
5、读取公式的计算结果
6、创建一个excel文件
7、数据类型更改
8、指定单元格样式
Python是一个十分便利的编程语言,这是因为它包含了很多丰富的Python库和第三方库
一、库
Python的库包含两种,一个是Python自带的库,我们只需要在编程时,用import关键字调用即可,另外一种第三方的我们需要在命令行工具中进行下载
1、Python自带的库
Python有很多丰富的库,比如math(进行一些基本的数学运算),re(正则表达式),datetime(处理时间和日期),turtle(绘图),random(生成随机数,或选择随机的元素)
这一类的库,我们只需要用import关键字调用即可:
import math
import re
import turtle
import datetime
2、第三方库
当然,我们在Python中还可以选择很多的第三方库,他们同样有着丰富的功能,让我们可以更轻松 的实现更多功能:
比如:Pillow(图像处理),jieba(中文的分词库),requests(发送各种HTTP请求),matplotlib(创建静态和动态,可交互的图标)
3、第三方库的安装
上面说到,我们如果要在Python中安装第三方库的话,我们需要在命令行工具中安装,下面是详细的步骤:
①进入cmd窗口
我们按下win + R键,输入cmd,进入命令窗口
②我们在命令窗口使用pip install 库名(我们用jieba库举例),进行安装:
安装中:
安装完成后,会有类似的显示:
(警告是说pip版本过旧,如果是新版本就不会弹出这个警告)
二、import的用法
我们在Python中,除了能直接用import来调用类,我们还可以结合as关键字,让我们在之后的代码调用中,更加简单方便的取去调用:
我们可以用import直接调用:
import turtleturtle.setup(100,200)
turtle.fd(10)
当然,有时这个类名可能太长太复杂,我们可以结合as关键字,让他更简单:
import turtle as tttt.setup(100,200)
tt.fd(10)
我们可以用import来导入类中类,比如(PIL库中的Image类)
有两种方法:
import PIL.Imagefrom PIL import Image
当然,我们也可以同时在一个库中调用很多个类:
比如我们要用第三方的库来创建一个Excel表格,我们就需要调用多个类:
from openpyxl.styles import Font,Alignment #可一次性调用多个类
from openpyxl.workbook import Workbookwb = Workbook() #创建一个新的,空的工作簿
wsheet = wb.active #获取工作簿中活动的工作表对象,这一步和数据库的cur获取光标很像boldFont = Font (size = 18 , name = 'Times New Roman' , bold = True , color = "0000FF")
#设置字体大小是18磅,字体名称,是否加粗,字体颜色
alignment = Alignment(horizontal = 'left' , vertical = 'center')
#水平方向上左对齐,垂直方向上居中对其wsheet["A1"] = "Sue" #在第A列第1行的那个格子添加Sue这个内容
wsheet["A1"].font = boldFont #把对字体的设置应用到A1这个格子
wsheet["A1"].alignment = alignment #把文字位置同样也应用到A1这个位置wb.save("example.xlsx") #进行保存操作
我们在该py文件的当前目录下,就能找到这个表:
三、datetime库
1、处理日期
我们的datetime库中包含了很多丰富且使用的函数,比如我们可以处理日期,用日期来计算出你的年龄:
import datetimeYourBirth = datetime.date(2004,8,22) #创建了日期对象
print("你出生在星期" , YourBirth.weekday() + 1) #0表示星期一Nowtime = datetime.date.today() #获取今天的时间
if YourBirth < Nowtime :Year = Nowtime - YourBirthprint(Year.days) #用天做基本单位输出
输出:
2、处理时刻
我们可以用datetime库来获取当前极为详细的时间,可精确到毫秒:
import datetimeNowtime = datetime.datetime.now()
print(Nowtime.year , Nowtime.month , Nowtime.day , Nowtime.hour , Nowtime.minute , Nowtime.second , Nowtime.microsecond)
输出:
我们也可以构造一个极其详细的时间:
import datetimeNowtime = datetime.datetime(2017 , 9 , 1 , 16 ,30 , 1 , 0)
#构造具体的时间print(Nowtime.strftime("%Y%m%d %H:%M:%S")) #12小时制
print(Nowtime.strftime("%Y%m%d %I:%M:%S %p")) #24小时制
它甚至能更改时间制:
输出:
3、局限性
当然,datetime也有一些局限性,它能处理的时间范围是公元1年~公元9999年
四、random库
1、函数
random中包含很多有意思的函数:
函数 | 作用 |
random.random() | 随机生成一个[0,1]之间的数 |
random.uniform(x,y) | 随机生成一个[x,y]之间的数 |
random.randint(x,y) | 随机生成一个[x,y]之间的整数,x和y都是整数 |
random.randrange(x,y,z) | 在range(x,y,z)中随机取一个数字 |
random.choice(x) | 从序列x中随机取一个元素,x可以是列表,元组,字符串 |
random.shuffle(x) | 将列表x的元素顺序打乱 |
random.sample(x,n) | 从序列中随机抽取一个长度是n的子序列,x可以是列表,元组,字符串 |
random.seed(x) | 设置随机种子,x可以是一个数字,元组,字符串 |
因为是随机数,所以我们每次执行相同的代码之后可能不一样:
import randomfor i in range(1 , 5) :a = random.random()print(a)
输出:
2、随机种子
这个random虽然说是运算出一个随机数,但是在计算机中,计算机的程序本身是固定的,生成随机数的代码也是固定的,计算机只是会根据某一时刻变化的信息(比如时间)作为种子,来生成所谓的随机数,其实本质是伪随机数!
所以,如果我们在程序中指明了某一种子,我们每次运行它就不会得到不一样的结果了:
import randomrandom.seed("ok")
a = random.random()
print(a)
输出:
①我们反复运行这个代码,会发现这个结果已经是固定的了
②这个种子可以是一个数字,也可以是字符串什么的
3、发牌模拟器
有了上面的基础,我们现在可以制作一个简单的发牌模拟器:
import randomcards = [str(i) for i in range(2,11)] #生成一个列表,从2到10
cards.extend(list("JQKA")) #在列表后面添加JQKA这些allcards = [] #先生成一个空列表,里面准备装入所有的牌
for s in "♣♦♥♠" : #双重for循环,先从四个花色中选一个,然后和上面那个列表里面的A到K去一一组合for c in cards :allcards.append(s+c) #把两个相加,append可以把这个s+c看成一个成体添加进去,如果使用extend就会把两个元素分开
random.shuffle(allcards) #打乱顺序for i in range(4) : #生成四名玩家oneplayer = allcards[i::4] #每一个玩家从第i发个开始,每次隔四个取一张牌oneplayer.sort() #分类以下print(oneplayer)
输出:
(这里不包含大小王~~~~)
五、jieba库
jieba库是一个很实用的中文分词库,它可以把我们输入的文本根据对应的函数进行细致的分词:
jieba是一个第三方的库,我们需要用pip指令下载它
下面我们来看一个简单的例子:
import jiebas = "我们热爱中华人民共和国"
lst = jieba.lcut(s)
print(lst)
输出:
但是我们很快就想到一个问题,“中华人民共和国”,中华,华人,人民,共和等等这些,都是中文词汇,但因为我们是默认的精确模式,这些词拼起来刚好可以拼成原文,我们当然也可以把所有的可能的分词都列举出来:
import jiebas = "我们热爱中华人民共和国"
lst = jieba.lcut(s , cut_all = True)
print(lst)
这样jieba库就能把所有的可能全部列举出来:
但是jieba库中的词有时也不是很全面,比如当我们输入一个比较新的词汇的时候,jieba库可能就会判断失误:
import jiebas = "拼多多是一个购物软件"
lst = jieba.lcut(s)
print(lst)
输出:
我们发现“拼多多”本应该是一个词,但是jieba把他分成了两个,这显然是不正确的,所以我们可以在代码中添加一些词汇:
import jiebas = "拼多多是一个购物软件"
jieba.add_word("拼多多")
lst = jieba.lcut(s)
print(lst)
输出:
如果我们需要添加的词汇很多,我们可以新建一个文档,在里面写入那些词,然后用下面这个代码调入他们:
jieba.load_userdict("d:/tmp/dict.txt")
六、openpyxl库
openpyxl库是一个用于处理Excel表格的库,比如上面我们提到了如何用openpyxl库来创建,输入,更改样式,保存等操作
1、表格读取
在2010之前,我们会用xlrd和xlwt库对.xls文件进行读取和创建修改操作
在2010年之后,我们会用openpyxl库进行读写.xlsx文件
我们在上面介绍了如何去打开,写入一些东西在Excel表中,现在我们详细介绍一下如何读写
import openpyxl as pxlExcel = pxl.load_workbook("D:\学习\Python\example.xlsx") #打开文件
sheet = Excel.worksheets[0] #取第0个工作表
print(sheet.title) #输出工作表名称
print(sheet.min_row , sheet.max_row) #输出最小和最大的有效行号
print(sheet.min_column , sheet.max_column) #输出最小和最大的有效列号
输出:
我们再看看那个Excel表格:
最下方的绿色字体sheet就是这个表格的名字,所以第一行输出了sheet
而因为这个表格中只有第一个格子有数值,所以最小,最大的行号,列号都是1
2、表格元素遍历
我们当然也可以用Python遍历输出每一个格子中的数值:
例子:
import openpyxl as pxlExcel = pxl.load_workbook("D:\学习\Python\example.xlsx") #打开文件
sheet = Excel.worksheets[0] #取第0个工作表
for row in sheet.rows :for cell in row :print(cell.value)
我们先在表格中输入一些数值:
运行,看看输出:
格子中没有数值的,就会返回None
3、工作表的拿取
除了上面代码中的方法外,我们还有下面两个:
import openpyxl as pxlExcel = pxl.load_workbook("D:\学习\Python\example.xlsx") #打开文件
sheet = Excel.active #打开活跃的工作表,(缺省就是第0个工作表)
sheettwo = Excel["name"] #打开名字是name的工作表
4、单元格属性
我们的openpyxl中提供了很多可以查看单元格属性的函数:
我们可以查看每一个单元格的属性:
import openpyxl as pxlExcel = pxl.load_workbook("D:\学习\Python\example.xlsx") #打开文件
sheet = Excel.active #打开活跃的工作表,(缺省就是第0个工作表)\
for row in sheet.rows :for cell in row :a = type(cell.value)print(a)
输出:
5、读取公式的计算结果
有时我们Excel表中包含一些计算公式,如果用普通的遍历读取的方式,只能输出公式的式子,如果想得到公式计算的结果,我们可以通过在打开文件的时候,在后面添加data_only = True,来获取表格中公式的结果:
例子:
import openpyxlwb = openpyxl.load_workbook("D:\学习\Python\example.xlsx") #没有data_only
sheet = wb["Sheet"]
cell_value = sheet["A4"].value
print(cell_value)
import openpyxlwb = openpyxl.load_workbook("D:\学习\Python\example.xlsx" , data_only = True) #有data_only
sheet = wb["Sheet"]
cell_value = sheet["A4"].value
print(cell_value)
我们来看一下对应的输出:
没有:
有:
6、创建一个excel文件
import openpyxl
import datetimebook = openpyxl.Workbook() #在内存创建一个Excel
sheet = book.active #获取活动的表格
sheet.title = "sample1" #命名
datarows = ((1,2,3,4,5,10.1) , (100,200,"sum=(A1:A2)") , [] , [1000, 9000, datetime.datetime.now()]) #输入一些值,总体是一个大的元组,里面的每个元素都代表一行,每一个元素代表一个单元格
for row in datarows :sheet.append(row) #把数据输入
sheet.column_dimensions['B'].width = len(str(sheet['B4'].value)) #把B列的单元格的长度设置为B4的字符串的长度
book.save("D:\学习\Python\one.xlsx") #保存
输出:
7、数据类型更改
在Excel中,我们的每一个单元格里面的数值都有对应的数据类型,有时我们需要计算一些数据,但这些数据可能是字符串,无法完成计算,所以我们需要把所有的字符型的改成数值型的,但一个个改很麻烦,我们可以用Python来解决这个问题:
我们先看在Excel中:
左上角有绿色三角的就是字符型的,而没有的就是数值型
当我们有几百个,甚至成千上万的单元格需要取更改的时候,我们可以编辑一个python代码来实现,把其中需要更改的改一下:
下面是一个把所有文本形式的改成真正的数字:
import openpyxlbook = openpyxl.load_workbook("D:\学习\Python\example.xlsx") #打开目标文件
sheet = book.active #获取活动的表格(也可不写这一行)for sheet in book.worksheets : #在这个文件中的每一个表中for row in sheet.rows : #在这个表中的每一个行中for cell in row : #在这个行中的每一个单元格中v = cell.value #获取这个单元格的类型if type(v) == str : #如果是字符型if v.isdigit() : #如果是字符,且里面还全是数字cell.value = int(v) #变成整型else :try :cell.value = float(v) #当然,也有可能是小数,但是小数点不是数字,所以放在了else中,而且因为可能包含一些普通的字符串,无法转化为数字,所以放在try里面except :pass
book.save(r"D:\学习\Python\two.xlsx") #把这个转化完的表格另存在新的文件下
我们看看结果:
嗯,非常完美呢!
8、指定单元格样式
在Excel表中的每一个单元格,都是一个独立的个体,他们就像页面中的一个个盒子模型,我们可以给他设置特定的样式,同时格子中的文字也可以添加一些我们喜欢的样式:
import openpyxl
from openpyxl.styles import Font , colors , PatternFill , Alignment , Side , Borderbook = openpyxl.Workbook() #创建一个Excel表格
sheet = book.active #选第0张表格for i in range(4) :sheet.append([i * 5 + j for j in range(5)]) #用双重循环生成一个四行五列的数字side = Side(style = "thin") #让单元格的边框是细线,还可以是thick、medium、dotted等
border = Border(left = side , right = side , top = side , bottom = side) #生成一个边框对象,让这个边框的上下左右的四个边都是上面side要的那个样式for row in sheet.rows :for cell in row :cell.border = border #遍历每一个单元格,让每一个单元格都用上border的样式sheet["A1"].fill = PatternFill(patternType='solid' , start_color = "00FF00") #对A1单元格进行填充,solid是实心填充,颜色是绿色al = sheet["A1"] #进行一个简答赋值
a_font = Font(size = 18 , name = 'Times New Roman' , bold = True , color = "FF0000") #创建一个针对字体样式的对象,让这个样式是18好字,并设置了字体名称和字体颜色
al.font = a_font #把这个字体样式给al(说白了就是给A1)sheet["A2"].font = sheet["A1"].font.copy(italic = True) #我们创建一个针对A2单元格的样式,让这个样式是A1单元格的样式,用了copy命令,并在此基础上添加了斜体book.save("D:\学习\Python\style.xlsx") #保存一下!!!!!!!!!!!!!!!!!!1
我们来看看输出结果:
以上就是Python库与Excel的全部内容:)
相关文章:
Python库与Excel
目录 一、库 1、Python自带的库 2、第三方库 3、第三方库的安装 二、import的用法 三、datetime库 1、处理日期 2、处理时刻 3、局限性 四、random库 1、函数 2、随机种子 3、发牌模拟器 五、jieba库 六、openpyxl库 1、表格读取 2、表格元素遍历 3、工作表的…...
记录一下最近参与实习 外包 社招流程里的一些感悟
记录一下最近参与实习 外包 社招流程里的一些感悟 1.简历门面要重视 1.简历非常重要,它是你的门面 初步了解到你的一个实习/工作经历,然后掌握的技术栈,是否与当前项目匹配,哪些模块上的设计是我们想要重点关注的,可…...
流动的梦境:GPT-4o 的自回归图像生成深度解析
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
HarmonyOS NEXT开发进阶(十四):HarmonyOS应用开发者基础认证试题集汇总及答案解析
文章目录 一、前言二、判断题(134道)三、单选题(210道)四、多选题(123道)五、拓展阅读 一、前言 鸿蒙原生技能学习阶段,通过官方认证的资格十分有必要,在项目实战前掌握基础开发理论…...
Visual Studio Code(简称 VS Code)下载与使用教程1(新建文件,语法高亮,快捷键,主题,快捷指令)
简介 由 微软(Microsoft) 开发的 免费、开源、跨平台 的 代码编辑器,广泛用于编程开发、文本编辑和调试。 主要功能 代码编辑:支持几乎所有编程语言(Python、JavaScript、Java、C、Go 等),提供…...
3.28前端模拟面试
针对你 1.5 年的前端经验,结合 Vue 3、TypeScript、微前端(qiankun)等背景,我准备了一套模拟面试题,偏向场景化问题,考察你的实战经验和思维能力。 一、工程化 & 架构 你们的前端项目使用 qiankun 做微…...
pip 安装某个包之后,Jupyter Lab仍旧显示包冲突;例如:Numba needs NumPy 2.1 or less. Got NumPy 2.2.
异常提示 Numba needs NumPy 2.1 or less. Got NumPy 2.2. --------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[8], line 53 import pywt4 import matplot…...
Python:爬虫概念与分类
网络请求: https://www.baidu.com url——统一资源定位符 请求过程: 客户端,指web浏览器向服务器发送请求 请求:请求网址(request url);请求方法(request methods);请求头(request header)&…...
flask开发中设置Flask SQLAlchemy 的 db.Column 只存储非负整数(即 0 或正整数)
如果你想控制一个 Flask SQLAlchemy 的 db.Column 只存储非负整数(即 0 或正整数),你可以在模型中使用验证来确保这一点。一种常见的方法是使用模型的 validate 方法或者在执行插入或更新操作时进行检查。 以下是实现这一目标的几种方法&…...
从0到1解决项目问题经验-Vue3前端
问题1: 我有文件里面这么一段代码,但是现在有个问题,就是在设备信息详情的抽屉页面中,当我首次点击查看的时候,显示的物流中心名称现在是跟"deviceInfo.logisticsCenterName"做的绑定,于是现在显…...
Vue.js的CSS过渡与动画:常用案例解析
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...
【论文阅读】Co2l: Contrastive continual learning
原文链接:[2106.14413] Co$^2$L: Contrastive Continual Learning 阅读本文前,需要对持续学习的基本概念以及面临的问题有大致了解,可参考综述: Wang L, Zhang X, Su H, et al. A comprehensive survey of continual learning: …...
Python给对象数组排序
文章目录 1. 使用sorted()函数(返回新的排序后的列表)2. 使用list.sort()方法(原地排序,不返回新列表)3. 如果数据结构是集合(set),集合本身是无序的,无法直接排序&#…...
Docker-清理容器空间prune
docker system prune -a 是一个非常有用的命令,用于清理 Docker 系统中未使用的资源,包括停止的容器、未使用的网络、卷以及未被任何容器引用的镜像(悬空镜像和所有未使用的镜像)。以下是关于该命令的详细说明: 命令…...
Kubernetes》》K8S》》Deployment 、Pod、Rs 、部署 nginx
Deployment deployment文档说明 kubectl get rs,deployment,pods 删除pod 、deployment 、service # 如果只删除pod,deployment会自动重建,所以应该先删除deployment。 # 下面演示的是删除所有deployment,可以指定只删除某个 # 删除所有…...
【Zookeeper搭建】Zookeeper分布式集群搭建完整指南
Zookeeper分布式集群搭建 (一)克隆前准备工作 一、时钟同步 步骤: 1、输入date命令可以查看当前系统时间,可以看到此时系统时间为PDT(部分机器或许为EST),并非中国标准时间。我们在中国地区…...
基于YOLO11/WVP的电梯系统开发-模型训练与rk3568移植
1. 环境准备 代码下载: https://github.com/ultralytics/ultralytics.git切换到 8.3.0 以上的分支,yolov11 只在上述分支支持, 下载后在 ultralytics 根目录下安装 yolo 依赖环境: pip install -e . -i https://pypi.tuna.tsinghua.edu.cn…...
[数据结构]并查集(系统整理版)
基础用法 int p[N];//路径压缩 寻找祖宗节点 int find(int x){if(p[x]!x) p[x]find(p[x]);return p[x]; }int main(){ //初始化for(int i1;i<n;i) p[i]i; }合并 void merge(int a,int b){int aafind(a),bbfind(bb);if(aa!bb){p[aa]bb;} }查询是否联通 bool is_connected(…...
人工智能与软件工程结合的发展趋势
AI与软件工程的结合正在深刻改变软件开发的流程、工具和方法,其发展方向涵盖了从代码生成到系统维护的整个生命周期。以下是主要的发展方向和技术趋势: 1. 软件架构体系的重构 从“面向过程”到“面向目标”的架构转型: AI驱动软件设计以目标…...
Compose 实践与探索十七 —— 多指手势与自定义触摸反馈
上一节我们讲了滑动的手势识别以及嵌套滑动,二者都属于触摸反馈这个大的范畴内的知识。本节我们将深入触摸反馈这个话题,讲一讲多指手势的识别与完全自定义的触摸反馈的实现。 1、多指手势 多指手势可以分为两类: 利用 API 处理预设好的手…...
哈希表 - 两个数组的交集(集合、数组) - JS
一、Set基础 在 JavaScript 中,Set 是一种集合(Collection)数据结构,用于存储唯一值(不允许重复),并且可以高效地进行添加、删除、查询等操作。它类似于数组(Array)…...
26_ajax
目录 了解 接口 前后端交互 一、安装服务器环境 nodejs ajax发起请求 渲染响应结果 get方式传递参数 post方式传递参数 封装ajax_上 封装ajax下 了解 清楚前后端交互就可以写一些后端代码了。小项目 现在写项目开发的时候都是前后端分离 之前都没有前端这个东西&a…...
Java面试黄金宝典24
1. 什么是跳表 定义 跳表(Skip List)是一种随机化的数据结构,它基于有序链表发展而来,通过在每个节点中维护多个指向其他节点的指针,以多层链表的形式组织数据。其核心思想是在链表基础上增加额外层次,每…...
每日c/c++题 备战蓝桥杯(全排列问题)
题目描述 按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数 n。 输出格式 由 1∼n 组成的所有不重复的数字序列,每行一个序列。 每个数字保留 5 个场…...
Layui实现table动态添加行,可删除、表格可编辑,小数校验
实现如图需求,layui实现的可编辑table,包含B、C、D、E列,A列不用实现出现,A列放在附件就是让你明白,不同的物料名称,行是不一样的。除了头部表头和E列不能编辑,每个表格都可编辑,其中…...
Spring Boot 非web应用程序
在 Spring Boot 框架中,要创建一个非Web应用程序(纯Java程序) main方法运行,不启动tomcat,main方法执行结束,程序就退出了; 方式一 1、SpringBoot开发纯Java程序,应该采…...
数据分析中的基线校正算法全解析:原理、实现与应用
数据分析中的基线校正算法全解析:原理、实现与应用 在数据分析中,基线漂移是一个常见问题,会严重影响数据的解释和分析精度。本文将详细介绍12种主流基线校正方法,包括数学原理、Python实现代码和适用场景分析。 基线漂移问题概述 基线漂移主要由以下因素引起: 仪器强度…...
国外计算机证书推荐(考证)(6 Sigma、AWS、APICS、IIA、Microsoft、Oracle、PMI、Red Hat)
文章目录 证书推荐1. 六西格玛 (6 Sigma)2. 亚马逊网络服务 (AWS)3. 美国生产与库存控制学会 (APICS)4. 内部审计师协会 (IIA)5. 微软 (Microsoft)6. 甲骨文 (Oracle)7. 项目管理协会 (PMI)8. 红帽 (Red Hat) 证书推荐 1. 六西格玛 (6 Sigma) 介绍:六西格玛是一种…...
linux》》docker 、containerd 保存镜像、打包tar、加载tar镜像
Linux》》docker: 默认情况下,Docker镜像保存在/var/lib/docker/目录下。 当您使用docker pull命令从Docker Hub或私有镜像仓库中拉取镜像时,Docker会自动将镜像文件保存在/var/lib/docker/image/目录下。 每个镜像都由一个或多个层组成,这些…...
大数据(2)Hadoop架构深度拆解:HDFS与MapReduce企业级实战与高阶调优
目录 一、分布式系统的设计哲学演进1.1 从Google三驾马车到现代数据湖 二、企业级HDFS架构全景图2.1 联邦架构的深度实践2.2 生产环境容灾设计2.3 性能压测方法论 三、MapReduce引擎内核解密3.1 Shuffle机制全链路优化3.2 资源调度革命:从MRv1到YARN3.3 企业级编码规…...
【数学建模】动态规划算法(Dynamic Programming,简称DP)详解与应用
动态规划算法详解与应用 文章目录 动态规划算法详解与应用引言动态规划的基本概念动态规划的设计步骤经典动态规划问题1. 斐波那契数列2. 背包问题3. 最长公共子序列(LCS) 动态规划的优化技巧动态规划的应用领域总结 引言 动态规划(Dynamic Programming,简称DP)是一…...
UE学习记录part11
第14节 breakable actors 147 destructible meshes a geometry collection is basically a set of static meshes that we get after we fracture a mesh. 几何体集合基本上是我们在断开网格后获得的一组静态网格。 选中要破碎的网格物品,创建集合 可以选择不同的…...
LeetCode知识点整理
1、Scanner 输入: import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);// 读取整数int num scanner.nextInt();// 读取一行字符串String line scanner.nextLine();scanner.close();…...
浅析车规芯片软错误防护加固的重要性
随着汽车电子技术的飞速发展,汽车已经从传统的机械交通工具转变为高度依赖电子系统的智能移动终端。车规芯片作为汽车电子系统的核心部件,其可靠性和安全性直接关系到车辆的正常运行和驾乘人员的安全。然而,车规芯片在复杂的运行环境中面临着…...
Android Jetpack学习总结(源码级理解)
ViewModel 和 LiveData 是 Android Jetpack 组件库中的两个核心组件,它们能帮助开发者更有效地管理 UI 相关的数据,并且能够在配置变更(如屏幕旋转)时保存和恢复 UI 数据。 ViewModel作用 瞬态数据丢失的恢复,比如横竖…...
Matlab_Simulink中导入CSV数据与仿真实现方法
前言 在Simulink仿真中,常需将外部数据(如CSV文件或MATLAB工作空间变量)作为输入信号驱动模型。本文介绍如何高效导入CSV数据至MATLAB工作空间,并通过From Workspace模块实现数据到Simulink的精确传输,适用于运动控制…...
Go 语言规范学习(6)
文章目录 StatementsTerminating statementsEmpty statementsLabeled statementsExpression statementsSend statementsIncDec statementsAssignment statementsIf statementsSwitch statementsExpression switchesType switches For statementsFor statements with single con…...
设计模式——设计模式理念
文章目录 参考:[设计模式——设计模式理念](https://mp.weixin.qq.com/s/IEduZFF6SaeAthWFFV6zKQ)参考:[设计模式——工厂方法模式](https://mp.weixin.qq.com/s/7tKIPtjvDxDJm4uFnqGsgQ)参考:[设计模式——抽象工厂模式](https://mp.weixin.…...
解析 ID 数组传参的解决方案:基于 Axios 的实现
解析 ID 数组传参的解决方案:基于 Axios 的实现 在实际开发中,经常需要将一个 ID 数组作为参数传递给后端接口。然而,不同的后端框架和前端库对数组参数的处理方式可能有所不同。通过一个具体的例子,在前端使用 Axios 框架发送 I…...
C语言快速入门-C语言基础知识
这个c语言入门,目标人群是有代码基础的,例如你之前学过javaSE,看此文章可能是更有帮助,会让你快速掌握他们之间的差异,文章内容大部分都是泛谈,详细的部分我会在之后时间发布,我也在慢慢学习&am…...
Ubuntu 22.04 上安装 VS Code
在 Ubuntu 22.04 上安装 VS Code 的方法如下: 方法 1:通过 APT 包管理器安装 更新系统包索引: 打开终端并执行以下命令: sudo apt update安装依赖项: 执行以下命令以安装所需的依赖项: sudo apt install s…...
AI人工智能-PyCharm的介绍安装应用
下载与安装 创建python项目 项目路径:C:\Users\miloq\Desktop\python_project 配置环境 提前找到conda配置的python-base路径 配置conda环境 运行项目 运行结果...
Todesk介绍
文章目录 ToDesk 软件介绍1. 软件概述2. ToDesk 的功能特点2.1 简单易用2.2 高质量的图像与流畅的操作2.3 跨平台支持2.4 多屏显示与协作2.5 文件传输功能2.6 实时聊天与语音通话2.7 远程唤醒与自动启动2.8 多种权限设置与安全性2.9 无需公网 IP 3. ToDesk 的应用场景3.1 个人使…...
【JavaEE】springMVC返回Http响应
目录 一、返回页面二、Controller和ResponseBody与RestController区别三、返回HTML代码⽚段四、返回JSON五、HttpServletResponse设置状态码六、设置Header6.1 HttpServletResponse设置6.2 RequestMapping设置 一、返回页面 步骤如下: 我们先要在static目录下创建…...
青少年编程与数学 02-011 MySQL数据库应用 02课题、MySQL数据库安装
青少年编程与数学 02-011 MySQL数据库应用 02课题、MySQL数据库安装 一、安装Windows系统Linux系统(以Ubuntu 20.04为例)macOS系统 二、配置(一)Windows系统1. 创建配置文件2. 初始化数据库3. 启动MySQL服务4. 登录MySQL5. 修改ro…...
springboot441-基于SpringBoot的校园自助交易系统(源码+数据库+纯前后端分离+部署讲解等)
💕💕作者: 爱笑学姐 💕💕个人简介:十年Java,Python美女程序员一枚,精通计算机专业前后端各类框架。 💕💕各类成品Java毕设 。javaweb,ssm…...
【安全运营】关于攻击面管理相关概念的梳理(一)
目录 一、ASM 介绍ASM 是“Attack Surface Management”(攻击面管理)的缩写【框架视角,广义概念】1. 介绍2. 兴起的原因3. 工作流程3.1 资产发现3.2 分类和优先级排序3.3 修复3.4 监控 二、EASM 介绍EASM 是 "External Attack Surface M…...
IPv6 网络访问异常 | 时好时坏 / 部分访问正常
注:本文为 “ IPv6 间接性连接异常” 相关文章合辑。 略作重排,未去重。 如有内容异常,请看原文。 IPv6 间接性连接异常?尝试调整路由器的 MTU 设置 Nero978 2024-1-29 17:54 背景 2024 年 1 月 29 日,因寒假返家…...
Unity编辑器功能及拓展(1) —特殊的Editor文件夹
Unity中的Editor文件夹是一个具有特殊用途的目录,主要用于存放与编辑器扩展功能相关的脚本和资源。 一.纠缠不清的UnityEditor 我们Unity中进行游戏构建时,我们经常遇到关于UnityEditor相关命名空间丢失的报错,这时候,只得将报错…...
LLMs之PE:《Tracing the thoughts of a large language model》翻译与解读
LLMs之PE:《Tracing the thoughts of a large language model》翻译与解读 导读:这篇论文的核心贡献在于提出了一种新颖的、基于提示工程的LLMs推理过程追踪技术——“Tracing Thoughts”。该技术通过精心设计的提示,引导LLMs生成其推理过程的…...