Python中的format格式化、填充与对齐、数字格式化方式
文章目录
- 一、format语法
- 二、format格式化的用法
- 2.1、按照先后顺序替换{}
- 2.2、按照索引进行匹配替换{0}
- 2.3、按关键字索引进行匹配替换
- 2.4、通过列表索引格式化字符串
- 2.5、使用元组
- 2.6、通过字典设置格式化字符串
- 2.7、混合使用
- 三、字符串填充与对齐
- 3.1、左对齐及填充
- 3.2、右对齐及填充
- 3.3、居中对齐及填充
- 四、格式化
- 4.1、格式化数字
- 4.2、格式化日期和时间
- 五、format() 方法综合应用
format函数是Python中强大的字符串格式化方法,它允许程序员通过大括号{}来为字符串中的插入点占位,并通过传入参数进行替换,{0}、{1}分别代表不同的参数
以下内容基于Python3.13进行讲解。
一、format语法
官网地址:https://docs.python.org/zh-cn/3/library/functions.html#format
语法一:format()函数
format(value, format_spec='')
将 value 转换为“格式化后”的形式,格式由 format_spec 进行控制。format_spec 的解释方式取决于 value 参数的类型;
语法二:str.format()
str.format(*args, **kwargs) 常见形式为: ''.format()如:print('我是{}'.format('小明'))
{}
一般被称为槽
format_spec常用格式:
'{[index][:[fill]align][sign][#][width][grouping_option][.precision][type]}{......}{......}'.format(),格式中[]内的参数都是可选参数,每个{}都表示是一个待替换的字符串。format_spec ::= [[fill]align][sign]["z"]["#"]["0"][width][grouping_option]["." precision][type]
fill ::= <any character>
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | " "
width ::= digit+
grouping_option ::= "_" | ","
precision ::= digit+
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
index:指定冒号后面出现的参数在format()中的索引值,如果没有,则以format()中的默认顺序自动分配。
fill:指定空白处的填充符,默认是空格,可以是任意单个字符
。
align:指定数字的对齐方式。
align | 含义 |
---|---|
< | 左对齐,对于大部分对象时为默认 |
> | 右对齐,对于数字时为默认 |
= | 数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效 |
^ | 数据居中,此选项需和 width 参数一起使用 |
请注意,除非定义了最小字段宽度,否则字段宽度将始终与填充它的数据大小相同,因此在这种情况下,对齐选项没有意义。
sign:指定有无符号数 。
sign | 含义 |
---|---|
+ | 正数前面添加 ‘ + ’ ,负数前面加 ‘ - ’ 例如 +3 , -1 。 |
- | 表示正负号仅用于负数(这是默认行为 )。正数前面不添加 ‘ + ’ ,负数前面加 ‘ - ’。例如 3 , -1。 |
space | 正数前面添加 ‘ 空格 ’ ,负数前面加 ‘ - ’ |
# | 对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x前缀;反之则不显示前缀 |
width:指定输出数据时所占的宽度。
grouping_option :千分位分隔符,一般为"_" 或 “,” 。
.precision:如果后面存在type参数,则指的是保留小数的位数,如果type参数不存在,则是指有效数字的位数。
type:指定输出数据的具体类型。
type | 含义 |
---|---|
s | 对字符串类型格式化,这是字符串的默认类型,可以省略。 |
% | 显示百分比,默认显示小数点后六位,将数字乘以 100 后面带一个百分号。 |
d | 十进制整数 |
c | 将十进制整数自动转化成对应的Unicode字符 |
b | 将十进制数自动转化成二进制数,并格式化输出 |
o | 将十进制数自动转化成八进制数,并格式化输出 |
x | 十六进制数,a 到 f 小写 |
X | 十六进制数,A 到 F 大写。 在指定 ‘#’ 的情况下,前缀 ‘0x’ 也将被转为大写形式 ‘0X’。 |
e | 转化成科学计数法,并格式化输出 |
E | 科学计数法。 与 ‘e’ 相似,不同之处在于它使用大写字母 ‘E’ 作为分隔字符。 |
f | 转化为浮点数,对 float 采用小数点之后 6 位精度,而对 Decimal 则使用大到足够显示所有系数位的精度。 |
F | 定点表示。 与 ‘f’ 相似,但会将 nan 转为 NAN 并将 inf 转为 INF。 |
g、G | 自适应转化为e或f(E或F),并格式化输出 |
简单示例:
print("{0}{1}".format("Hello"," World!")) #输出:Hello World!
print("{0:+<20}".format("Python"))#输出:Python++++++++++++++
print("{0:+>20}".format("Python"))#输出:++++++++++++++Python
print("{0:+^20}".format("Python"))#输出:+++++++Python+++++++
#还可以不需要槽样式,直接将槽样式写在format函数的参数里
print(format("Hello"),format("World")) #输出:Hello World!
print(format("Python",'+<20'))#输出:Python++++++++++++++
print(format("Python",'+>20'))#输出:++++++++++++++Python
print(format("Python",'+^20'))#输出:+++++++Python+++++++
二、format格式化的用法
2.1、按照先后顺序替换{}
格式如下:
"{} {}".format(values1, values2)
说明:format 会把参数按位置顺序来填充到字符串中,按照顺序自动分配,而且一个参数可以多次插入。{{}} 仅代表{},不占用字符串格式化位置顺序。
示例:
# {} 和参数的个数必须匹配,否则会报错。
name='张三'
age=19
s="我的名字是:{},年龄是:{}"
print(s.format(name,age) )
输出为:
我的名字是:张三,年龄是:19
2.2、按照索引进行匹配替换{0}
格式如下:
"{0} {1}".format(value1, value2)
说明:按索引编号来匹配替换 {索引} 的值。
{0},{1}代表的占位符,数字占位符要注意顺序。下标从0开始
。
name='张三'
age=19
s="我的名字是:{0},年龄是:{1}"
print(s.format(name,age) )
输出为:
我的名字是:张三,年龄是:19
索引下标可多次使用
print('我是{0},我喜欢{1},你喜欢{1}吗?'.format('小明','打羽毛球'))输出:我是小明,我喜欢打羽毛球,你喜欢打羽毛球吗?
先后顺序与索引下标不能混合一起使用,下面的用法将报错:
print('我是{0},我喜欢{1},你喜欢{}吗?'.format('小明','打羽毛球','乒乓球'))输出:
ValueError: cannot switch from manual field specification to automatic field numbering
索引下标不能越界,即不能超过format给出的值数量,注意下标是0开始,下面用法将报错:
print('我是{2}'.format('小明','打羽毛球'))输出:IndexError: tuple index out of range
2.3、按关键字索引进行匹配替换
格式如下:
"{关键字索引1} {关键字索引2}".format(关键字索引1 = value1, 关键字索引2 = value2)
s="我的名字是:{name},年龄是:{age}"
print(s.format(age=19,name='张三') )year = 2024
month = 11
s = "现在是{year1}年{month1}月"
print(s.format(year1=year,month1=month) )
输出为:
我的名字是:张三,年龄是:19
现在是2024年11月
2.4、通过列表索引格式化字符串
格式如下:
列表名=['列表值1','列表值2','列表值3'...]
"{List[列表索引1]},{List[列表索引2]}".format(List = 列表名)说明:在format格式化时,可使用 * 对list拆分
示例:
list1 = ["张三",22]
list2 = [2002,10,22]
list3 = ["Tom","Jerry","Rose","Black"]
list4 = [25,22,20,24]
print("我叫{list[0]},今年{list[1]}岁了。".format(list=list1))
print("我叫{0[0]},今年{0[1]}岁了。".format(list1))
print("李明的生日:{list[0]}-{list[1]}-{list[2]}".format(list=list2))
print("{0[0]}的年龄为{1[1]};{0[1]}的年龄为{1[2]};{0[2]}的年龄为{1[0]};{0[3]}的年龄为{1[3]}。".format(list3,list4))# 使用 *与** 对list进行拆分
print("李明的生日:{1}-{2}-{0}".format(*list2))运行结果为:
======================================================================
我叫张三,今年22岁了。
我叫张三,今年22岁了。
李明的生日:2002-10-22
Tom的年龄为22;Jerry的年龄为20;Rose的年龄为25;Black的年龄为24。
李明的生日:10-22-2002
关于*list
拆分列表的用法参考python中的*与**用法详解
2.5、使用元组
元组与list用法一致,参考上面写法。
test = ('小明','珠海市','天蝎座','小哥哥')
print('我是{0[0]},来自{0[1]}的{0[2]}一枚{0[3]}'.format(test))
print('我是{0},来自{1}的{2}一枚{3}'.format(*test))
print('我是{},来自{}的{}一枚{}'.format(*test))#输出
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py
我是小明,来自珠海市的天蝎座一枚小哥哥
我是小明,来自珠海市的天蝎座一枚小哥哥
我是小明,来自珠海市的天蝎座一枚小哥哥
2.6、通过字典设置格式化字符串
格式如下:
字典名1={'字典索引1':'字典索引1的值', '字典索引2':'字典索引2的值', ...}
"{字典索引},{字典索引值}".format(字典名1) 说明:在format格式化时,可使用 ** 对字典拆分
dict1 = {"name":"张三","age":21}
dict2 = {"year":2002,"month":10,"day":22}
print("我叫{0[name]},今年{0[age]}岁了。".format(dict1))
print("我叫{0},今年{1}岁了。".format(*dict1))
print("李明的生日:{0[year]}-{0[month]}-{0[day]}".format(dict2))
print("李明的生日:{0[month]}-{0[day]}-{0[year]}".format(dict2))
print("我叫{name},今年{age}岁了".format(**dict1))
# python2.7中不支持多个**入参,python3支持
print("我叫{name},今年{age}岁了。生日:{year}-{month}-{day}".format(**dict1,**dict2))运行结果为:
==========================================
我叫张三,今年21岁了。
我叫age,今年name岁了。
李明的生日:2002-10-22
李明的生日:10-22-2002
我叫张三,今年21岁了
我叫张三,今年21岁了。生日:2002-10-22
关于**dict
的用法参考python中的*与**用法详解
2.7、混合使用
(1)可以通过索引,参数名来混合匹配。
(2)注意:命名参数必须放在最后。否则编译时出现报错!
(3)索引和默认格式化不可以混合使用。
(4)支持对参数部分引用,可以通过索引对参数的部分进行取值。
示例:
list1 = ["张三",21]
dict1 = {"year":2002,"month":10,"day":22}
print("我叫{},生日为:{year}-{month}-{day},今年{}岁了。".format(*list1,**dict1))
print("我叫{},今年{age}岁了。".format("李四",age=25))
# print("我叫{},今年{age}岁了。".format(age=25,"李四")) #此代码错误,命名参数必须放在最后
print("我叫{},今年{1}岁了。".format("李四",25)) #此代码错误,索引和默认格式化不可以混合使用程序运行结果为:
=====================D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py =====================
我叫张三,生日为:2002-10-22,今年21岁了。
我叫李四,今年25岁了。
Traceback (most recent call last):File "D:\WorkSpace-Python\Test\test.py", line 6, in <module>print("我叫{},今年{1}岁了。".format("李四",25))
ValueError: cannot switch from automatic field numbering to manual field specification
三、字符串填充与对齐
format支持左对齐
、右对齐
、居中对齐
。
如果你希望将变量打印在特定位置,可以使用对齐方式
更多对齐与填充的方法参考《Python字符串对齐的几种方法、Python填充与对齐、Python中英文对齐》
3.1、左对齐及填充
格式如下:
:< # 左对齐填充
< # 左对齐,后面带宽度
: # 后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
示例:
print('{:<10}!'.format('Python')) # 默认填充空格
print('{:0<10}!'.format('Python')) # 用0填充
print('{:<10}!'.format('中华人民万岁')) # 默认填充空格运行结果:
======================================
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py
Python !
Python0000!
中华人民万岁 !
注意:python2与python3中对于中文字符串的填充是不一致的。
#python2
print('{:<10}!'.format('hello')) # 右边补充5个空格,使长度为10
print('{:<10}!'.format('全世界')) # 右边补充一个空格,因为len('全世界')发现长度为9
hello !
全世界 !# python3
print('{:<10}!'.format('hello')) # 右边补充5个空格,使长度为10
print('{:<10}!'.format('全世界')) # 右边补充7个空格,使长度为10
hello !
全世界 !
在Python 2和Python 3中,len()函数的主要区别在于它们对字符串的处理方式不同。
- 在Python 2中,len()函数返回的是
字节长度
。这意味着如果字符串中包含非ASCII字符(如中文、日文等),len()返回的将是字节数而不是字符数。例如,对于包含中文的字符串,len()返回的将是字节长度,而不是字符数。- 而在Python 3中,len()函数直接返回
字符数量
。这是因为Python 3默认使用UTF-8编码,而UTF-8编码支持多字节字符,因此len()函数返回的是字符数而不是字节数。这意味着在处理包含非ASCII字符的字符串时,Python 3的len()函数能够正确地返回字符数
3.2、右对齐及填充
格式如下:
:> # 右对齐
> # 右对齐,后面带宽度,
: # 后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
示例如下:
print('{:>10}!'.format('Python')) # 默认填充空格
print('{:0>10}!'.format('Python')) # 用0填充
print('{:>10}!'.format('中华人民万岁')) # 默认填充空格运行结果:
======================================
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py Python!
0000Python!中华人民万岁!
3.3、居中对齐及填充
格式如下:
:^ # 居中对齐
^ # 居中对齐,后面带宽度
: # 后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
示例如下:
print('{:^10}!'.format('Python')) # 默认填充空格
print('{:0^10}!'.format('Python')) # 用0填充
print('{:^10}!'.format('中华人民万岁')) # 默认填充空格运行结果:
======================================
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py Python !
00Python00!中华人民万岁 !
四、格式化
4.1、格式化数字
更多详细内容参考另一篇文章:python format格式化数字
可以实现百分比、千分位、进制转换、字符填充与对齐等等。
4.2、格式化日期和时间
format() 函数在处理日期和时间时也非常有用,可以将日期和时间对象格式化为特定的字符串表示。
from datetime import datetime# 格式化当前日期和时间
now = datetime.now()
formatted_datetime = "{:%Y-%m-%d %H:%M:%S}".format(now)
print("Formatted datetime:", formatted_datetime)
日期和时间符号参考:python中时间日期格式化符号
五、format() 方法综合应用
(1)打印左对齐图案
代码如下:
for i in range(1, 11):print("{:<{}}".format("*" * i, 10))程序运行结果为:
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py
*
**
***
****
*****
******
*******
********
*********
**********
(2)打印右对齐图案
代码如下:
for i in range(1, 11):print("{:>{}}".format("*" * i, 10))程序运行结果为:
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py*********************************************
**********
(3)打印居中对齐图案
代码如下:
for i in range(1, 21, 2):print("{:^{}}".format("*" * i, 20))程序运行结果为:
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py* *** ***** ******* ********* *********** ************* *************** *****************
*******************
参考或推荐文章:
https://blog.csdn.net/weixin_44377973/article/details/132300478
数字格式化:python format格式化数字
https://zhuanlan.zhihu.com/p/632687543
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
Python中的format格式化、填充与对齐、数字格式化方式
文章目录 一、format语法二、format格式化的用法2.1、按照先后顺序替换{}2.2、按照索引进行匹配替换{0}2.3、按关键字索引进行匹配替换2.4、通过列表索引格式化字符串2.5、使用元组2.6、通过字典设置格式化字符串2.7、混合使用 三、字符串填充与对齐3.1、左对齐及填充3.2、右对…...
![](https://i-blog.csdnimg.cn/direct/9123f7352ec74d94951fa6a5cd29bf79.gif)
winform第三方界面开源库AntdUI的使用教程保姆级环境设置篇
1. AntdUI 1.1. 导入项目 1.1.1. 首先新建一个空白的基于.net的Winfrom项目1.1.2. 复制AntdUI中src目录到我们的解决方案下面1.1.3. 解决方案下添加现有项目1.1.4. 添加项目引用 1.2. 编写代码 1.2.1. 改写Form1类,让其继承自public partial class Form1 : AntdUI.W…...
![](https://www.ngui.cc/images/no-images.jpg)
如何使用Yarn Workspaces实现Monorepo模式在一个仓库中管理多个项目
Yarn Workspaces是Yarn提供的一种依赖管理机制,它支持在单个代码仓库中管理多个包的依赖。这种机制非常适合需要多个相互依赖的包的项目,能够减少重复依赖,加快依赖安装速度,并简化依赖管理。下面将详细介绍如何使用Yarn Workspac…...
![](https://i-blog.csdnimg.cn/direct/ef58403755634d819206da2e25521a35.png)
SpringCloud系列教程:微服务的未来(十一)服务注册、服务发现、OpenFeign快速入门
本篇博客将通过实例演示如何在 Spring Cloud 中使用 Nacos 实现服务注册与发现,并使用 OpenFeign 进行服务间调用。你将学到如何搭建一个完整的微服务通信框架,帮助你快速开发可扩展、高效的分布式系统。 目录 前言 服务注册和发现 服务注册 编辑 …...
![](https://www.ngui.cc/images/no-images.jpg)
物联网:七天构建一个闭环的物联网DEMO
我计划用七天的时间, 基于开源物联网平台, 打造一款物联网案例的闭环。 为了增加感观体验,欢迎大家与我保持亲密的沟通。 我们来看一段代码: Slf4j Component public class MqttSendManager {Resourceprivate MqttSendHandler m…...
![](https://i-blog.csdnimg.cn/direct/9e02eb20e85146ea92dd6d38ac9eb34b.png)
景联文科技提供高质量多模态数据处理服务,驱动AI新时代
在当今快速发展的AI时代,多模态数据标注成为推动人工智能技术进步的关键环节。景联文科技作为行业领先的AI数据服务提供商,专注于为客户提供高质量、高精度的多模态数据标注服务,涵盖图像、语音、文本、视频及3D点云等多种类型的数据。通过专…...
![](https://www.ngui.cc/images/no-images.jpg)
c#13新特性
C# 13 即 .NET 9 按照计划会在2024年11月发布,目前一些新特性已经定型,让我们来预览一个比较大型比较重要的新特性。 正文 扩展类型 Extension types 在5月份的微软 Build 大会中的 What’s new in C# 13 会议上,两位大佬花了很长的篇幅来…...
![](https://www.ngui.cc/images/no-images.jpg)
LeetCode LCP17速算机器人
速算机器人:探索字符指令下的数字变换 在编程的奇妙世界里,我们常常会遇到各种有趣的算法问题,这些问题不仅考验我们的逻辑思维,还能让我们感受到编程解决实际问题的魅力。今天,就让我们一同探讨一个关于速算机器人的…...
![](https://i-blog.csdnimg.cn/img_convert/78742b5d3a318d5c5baf88e8b2543c4a.png)
杭州铭师堂的云原生升级实践
作者:升学e网通研发部基建团队 公司介绍 杭州铭师堂,是一个致力于为人的全面发展而服务的在线教育品牌。杭州铭师堂秉持“用互联网改变教育,让中国人都有好书读”的使命,致力于用“互联网教育”的科技手段让更多的孩子都能享有优…...
![](https://www.ngui.cc/images/no-images.jpg)
计算机网络之---MAC协议
MAC协议的作用 在数据链路层中,MAC(媒介访问控制)协议负责控制设备如何访问共享的通信介质(如以太网、无线电波等),确保在多台设备共享同一传输媒介时能够有效地进行数据传输,避免冲突、控制流…...
![](https://i-blog.csdnimg.cn/direct/73b821d03f534538895701b62e782177.png)
微服务面试相关
Spring Cloud Spring Cloud五大组件 注册中心:Eureka、Nacos Ribbon负载均衡、负载均衡策略、自定义负载均衡 Ribbon负载均衡流程 Ribbon负载均衡策略 自定义负载均衡 服务雪崩、熔断降级 微服务监控-skywalking 业务相关 微服务限流(令牌桶、漏桶算法…...
![](https://i-blog.csdnimg.cn/img_convert/8f0e311f26ad591c8f06036668550c21.png)
Google发布图像生成新工具Whisk:无需复杂提示词,使用图像和人工智能将想法可视化并重新混合
Whisk 是 Google Labs 的一项新实验,可使用图像进行快速而有趣的创作过程。Whisk不会生成带有长篇详细文本提示的图像,而是使用图像进行提示。只需拖入图像,即可开始创建。 whisk总结如下: Whisk 是 Google 实验室最新的生成图像实…...
![](https://i-blog.csdnimg.cn/direct/ad6f2a4bcb644df6b982b2386291d018.png)
docker pull(拉取镜像)的时候,无法下载或者卡在Waiting的解决方法
docker pull的时候,卡在Waiting的解决方法 一般情况(大部分镜像都可以拉取)更换镜像源 进一步(如es等拉取不到)在镜像同步站搜索详细步骤 还可以在挂载的时候,让其下载对应的版本 一般情况(大部…...
![](https://i-blog.csdnimg.cn/img_convert/1d7febcf7482e814782a75775c7a60c8.png)
51c~Pytorch~合集4
我自己的原文哦~ https://blog.51cto.com/whaosoft/12311033 一、Pytorch~训练-使用 这里介绍了Pytorch中已经训练好的模型如何使用 Pytorch中提供了很多已经在ImageNet数据集上训练好的模型了,可以直接被加载到模型中进行预测任务。预训练模型存放在Pytorch的…...
![](https://www.ngui.cc/images/no-images.jpg)
windows下,golang+vscode+delve 远程调试
1 先在远程服务器安装golang和delve golang的安装,通过官网直接下载安装包安装接口 go install github.com/go-delve/delve/cmd/dlvlatest 如果dlv和golang版本不匹配,这里把latest换成匹配的版本,比如1.20.0 2 编译带调试信息的程序 go bu…...
![](https://i-blog.csdnimg.cn/blog_migrate/b96d0963d9f793aad7317d92a37f2b3c.png)
弥散张量分析开源软件 DSI Studio 简体中文汉化版可以下载了
网址: (63条消息) DSIStudio简体中文汉化版(2022年7月)-算法与数据结构文档类资源-CSDN文库...
![](https://i-blog.csdnimg.cn/img_convert/66ff7f5db225d2eed25b44fe6f78dcaf.jpeg)
视频编辑最新SOTA!港中文Adobe等发布统一视频生成传播框架——GenProp
文章链接:https://arxiv.org/pdf/2412.19761 项目链接:https://genprop.github.io 亮点直击 定义了一个新的生成视频传播问题,目标是利用 I2V 模型的生成能力,将视频第一帧的各种变化传播到整个视频中。 精心设计了模型 GenProp&…...
![](https://i-blog.csdnimg.cn/img_convert/ac7e9d3311640dee70c53c168c8001a1.png)
多维方向性增强分割通过大规模视觉模型实现|文献速递-视觉大模型医疗图像应用
Title 题目 Multidimensional Directionality-Enhanced Segmentation via large visionmodel 多维方向性增强分割通过大规模视觉模型实现 01 文献速递介绍 黄斑疾病影响全球约2亿人,已成为视力损害的主要原因之一。黄斑是视网膜中光感受器密度最高的区域&#…...
![](https://i-blog.csdnimg.cn/direct/032ac34683594082a2dce9b88d74f733.png)
【Linux探索学习】第二十五弹——动静态库:Linux 中静态库与动态库的详细解析
Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 在 Linux 系统中,静态库和动态库是开发中常见的两种库文件类型。它们在编译、链接、内存管理以及程序的性能和可维护性方面有着…...
![](https://www.ngui.cc/images/no-images.jpg)
远程和本地文件的互相同步
文章目录 1、rsync实现类似git push pull功能1. 基础概念2. 示例操作3. 定制化和进阶用法4. 定时同步(类似自动化) 2 命令简化1. 动态传参的脚本2. Shell 函数支持动态路径3. 结合环境变量和参数(更简洁)4. Makefile 支持动态路径…...
![](https://i-blog.csdnimg.cn/direct/6127e45c34984198896de15e2c8822aa.png)
自然语言处理之jieba分词和TF-IDF分析
jieba分词和TF-IDF分析 目录 jieba分词和TF-IDF分析1 jieba1.1 简介1.2 终端下载1.3 基本语法 2 TF-IDF分析2.1 什么是语料库2.2 TF2.3 IDF2.4 TF-IDF2.5 函数导入2.6 方法 3 实际测试3.1 问题解析3.2 代码测试 1 jieba 1.1 简介 结巴分词(Jieba)是一个…...
![](https://i-blog.csdnimg.cn/direct/5d4a8a0614f344018f5b199a8730eb0e.png)
探索式测试
探索式测试是一种软件测试风格,它强调独立测试人员的个人自由和职责,为了持续优化其工作的价值,将测试学习、测试设计、测试执行和测试结果分析作为相互支持的活动,在整个项目实现过程中并行地执行。 选择合适的探索式测试方法我…...
![](https://i-blog.csdnimg.cn/direct/cf2b5baf26b146a0891493cb3953ca0f.jpeg)
服务器数据恢复—raid5故障导致上层ORACLE无法启动的数据恢复案例
服务器数据恢复环境&故障: 一台服务器上的8块硬盘组建了一组raid5磁盘阵列。上层安装windows server操作系统,部署了oracle数据库。 raid5阵列中有2块硬盘的硬盘指示灯显示异常报警。服务器操作系统无法启动,ORACLE数据库也无法启动。 服…...
![](https://i-blog.csdnimg.cn/img_convert/ddfc552460fbf47594bc369236b7097c.png)
ISP各模块功能介绍
--------声明,本文为转载整理------- ISP各个模块功能介绍: 各模块前后效果对比: 黑电平补偿(BLC) 在理想情况下,没有光照射的像素点其响应值应为0。但是,由于杂质、受热等其它原因的影响&…...
![](https://www.ngui.cc/images/no-images.jpg)
Python 数据建模完整流程指南
在数据科学和机器学习中,建模是一个至关重要的过程。通过有效的数据建模,我们能够从原始数据中提取有用的洞察,并为预测或分类任务提供支持。在本篇博客中,我们将通过 Python 展示数据建模的完整流程,包括数据准备、建…...
![](https://i-blog.csdnimg.cn/direct/104e94c0e16b4256afd62be49878c9ca.png)
深入学习RocketMQ
参考:RocketMQ从从入门到精通_rocketmq入门到精通-CSDN博客 1、消息的类型 普通消息 顺序消息 延时消息 批量消息 事务消息 2、在java中使用 2.1、pom.xml中加入依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId…...
![](https://i-blog.csdnimg.cn/direct/68a5cbe53f2e4b52aea3cf4d6cc3db0c.png)
国产编辑器EverEdit - 扩展脚本:关闭所有未修改文档
1 扩展脚本:关闭所有未修改文档 1.1 应用场景 当用户打开过多文档时,部分文档已经修改,而大部分没有修改,为了减少在众多已打开文档中来回跳转的不便,可以将没有修改的文档全部关闭,但目前提供的快速关闭窗…...
![](https://i-blog.csdnimg.cn/direct/becf78722e0d48b3a31b6687559744f5.png)
数据结构二叉树-C语言
数据结构二叉树-C语言 1.树1.1树的概念与结构1.2树的相关术语1.3树的表示1.4树形结构实际运用场景 2.二叉树2.1概念与结构2.2特殊的二叉树2.2.1满二叉树2.2.2完全二叉树 2.3二叉树存储结构2.3.1顺序结构2.3.2链式结构 3.实现顺序结构的二叉树4.实现链式结构二叉树4.1前中后序遍…...
![](https://i-blog.csdnimg.cn/direct/05815793712746dda4c578aab1a21a66.png#pic_center)
Python基于YOLOv8和OpenCV实现车道线和车辆检测
使用YOLOv8(You Only Look Once)和OpenCV实现车道线和车辆检测,目标是创建一个可以检测道路上的车道并识别车辆的系统,并估计它们与摄像头的距离。该项目结合了计算机视觉技术和深度学习物体检测。 1、系统主要功能 车道检测&am…...
![](https://www.ngui.cc/images/no-images.jpg)
代码随想录算法训练营第六十天|KM94.城市间货物运输Ⅰ|KM95.城市间货物运输Ⅱ|KM96.城市间货物运输Ⅲ
94. 城市间货物运输 I 2、Bellman_ford队列优化算法(又名SPFA) SPFA是对Bellman_ford算法的优化,由于Bellman_ford 算法 每次都是对所有边进行松弛,其实是多做了一些无用功。其实只需要对 上一次松弛的时候更新过的节点作为出发节…...
![](/images/no-images.jpg)
我想给别人做网站/网站排名优化专业定制
Hibernate中的一对一映射关系有两种实现方法(单向一对一,和双向一对一)(一对一关系:例如一个department只能有一个manager) 单向和双向有什么区别呢??例如若是单向一对一,比如在depa…...
![](/images/no-images.jpg)
网站建设智能优化/seo快速排名软件
下载redis源码:http://www.redis.io/ 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1、下载源码,解压缩后编译源码。 wget http://download.redis.io/releases/redis-2.8.3.tar.gz tar xzf redis…...
![](https://img-blog.csdnimg.cn/img_convert/8a09046fd33dcbdf8e5033bc729ed226.png)
网站建设与管理课程标准/怎么做个人网页
0x00 语音板LED灯介绍在语音板上,我们预留了一个可以编程控制的LED灯。这样大家可以自己编程做出各种各样的灯光效果,例如想做出呼吸灯效果、闪烁灯效果都是可以的。这颗LED灯可以配合着语音交互过程,做出各样反馈效果,这样语音板…...
![](http://www.51test.space/wp-content/uploads/2017/06/1793.jpg)
用jsp做网站默认显示this is my jsp page/怎样推广app
使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS"-Xmx2048m -Xms2048m -Xmn256m -XX:PermSize128m -Xss256k",但结果运行时间增加了,但最终还是…...
![](https://img2018.cnblogs.com/blog/354272/201812/354272-20181212183310153-1406276603.jpg)
泰州整站优化/今日热榜
引言 Bleve是Golang实现的一个全文检索库,类似Lucene之于Java。在这里通过阅读其代码,来学习如何使用及定制检索功能。也是为了通过阅读代码,学习在具体环境下Golang的一些使用方式。代码的路径在github上https://github.com/blevesearch/ble…...
![](/images/no-images.jpg)
做网站的人是什么职位/全球疫情最新数据
案例一 导入图片思路: 1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口# 1.导入库import cv2# 2.加载图片img cv2.imread(a.png)# 3.创建窗口cv2.namedWindow(window 1 haha)# 4.显示图片cv2.imshow(window 1,img)# 5.暂停窗口cv2.waitKey(0)# 6.关闭窗口cv…...