摘要:
设置格式:'{name}is{value:.2f},'.format(name='π',value=pi)#'πis3.14'终极简约写法,在字符串前面加上f,便可直接将值或变量写在大括号内:f"{'π'}is{pi:.2f}"#'πis3.14'如果输出结果中需要包含大括号,则可使用两个大括号来指
字符串格式化处理
远古写法
以前通常使用运算符号 % ,%s 插入的值 String 类型,%.3f 指插入的值为包含 3 位小数的浮点数:
a,这是一个完整的ubuntu系统,下面我们就来研究一下这个系统,你可以使用hostname获取主机名你会发现主机名和root后面的字符串一致,也就是说root后面其实跟的是主机ID。我们再来看看/e
format1 = "%s, %s!" % ("Hello", "World")
# "Hello, World!"
关键字插入法:
:format1="%s,%s!"%("Hello","World")#"Hello,World!"关键字插入法:temp=stri
temp = string.Template("I am $name, I like $what!;)
temp.substitute(name="Liang", what="Apple")
# "I am Liang, I like Apple!"
Python 3 推荐方法
新版本 Python 中,应选择使用字符串方法 format,每个替换字段都用 {} 大括号(花括号)括起,括号内可留空或添加格式设置信息:
1024.00"字符串类型也可以指定精度,但不推荐使用,使用切片处理则更好理解:str="今天天气不错~"f"{str:.2}"#"今天"在冒号
一般用法:
"I am {},I like {}".format("Liang", "Apple")
# "I am Liang, I like Apple!"
"I am {0},I like {1}".format("Liang", "Apple")
# "I am Liang, I like Apple!"
索引也可无需像上面一样顺序排列,但注意不能同时使用自动索引和手工索引:
"I am {1},I like {0}".format("Apple", "Liang")
# "I am Liang, I like Apple!"
更可以像上面关键字插入法一样,给每个替换字段命名,名称后面跟冒号可以设置格式:
"{name} is {value:.2f},".format(name="π", value=pi)
# "π is 3.14"
终极简约写法,在字符串前面加上 f,便可直接将值或变量写在大括号内:
f"{"π"} is {pi:.2f}"
# "π is 3.14"
如果输出结果中需要包含大括号,则可使用两个大括号来指定:
"{{我需要使用{what}啊!}}".format(what="大括号")
# {我需要使用大括号啊!}
关键字插入法可以和索引同时使用:
"{foo} {1} {bar} {0}".format(1, 2, foo=3, bar=4)
# "3 1 2 4"
基本转换
指定占位符要转换的类型;
。示例中的ubuntu是一个常备镜像,也被称为基础镜像,它由Docker公司提供并保存在DockerHubRegistry上。随后,Docker在文件系统内部利用这个镜像创建了一个新的容器。该容器拥有
例如,你可以提供一个整数,但将其作为小数进行处理:
的某一片段,例如,可以使用dockerlogs--tail10daemon_dave获取日志的最后10行内容。另外,也可以使用dockerlogs--tail0-fdaemon_dave命令来追踪某个
num = 1024
f"The number is {num:f}"
# "The number is 1024.000000"
亦或者将其作为二进制处理:
后才可以删除。总结本能文章作为Docker的入门,主要包括Docker对容器的一些基本用法:查看Docker基本信息如何运行一个容器给容器命名重启启动容器附着容器创建守护式容器容器日志容器内部运行容器
num = 1024
f"The number is {num:b}"
# "The number is 10000000000"
以下为字符串格式设置类型说明符:
m=1024f"{num:10}"#"1024"数字和字符串的默认对齐方式不同:num="1024"f"{num:10}"#"1
说明符
含义
b
将整数表示为二进制
c
将整数解读为Unicode码点
d
将整数视为十进制数进行处理,这是整数默认使用的说明符
e
使用科学表示法来表示小数(用 e 来表示指数)
E
与 e 相同,但使用 E 来表示指数
f
将小数表示为定点数
F
与 f 相同,但与特殊值(nan 和 inf),使用大写表示
g
自动在定点表示法和科学表示法之间做选择。这是默认用于小数的说明符,但在默认情况下至少有 1 位小数
G
与 g 相同,但使用大写来表示指数和特殊值
n
与 g 相同,但插入随区域而异的数字分隔符
o
将整数表示为八进制数
s
保持字符串的格式不变,这是默认用于字符串的说明符
x
将整数表示为十六进制数并使用小写字母
X
与 X 相同,但使用大写字母
%
将数表示为百分比值(乘以100,按说明符 f 的设置格式,再在后面加上 %)
宽度、精度和千位分隔符
在字符串格式化处理是,不但可以转换类型,还可以设置转换字段的宽度和精度;
dockerrun提供了容器的创建到启动的过程。dockerrun的执行流程如下图所示:现在我们开始运行一条指令dockerrun-i-tubuntu/bin/bash,-i标志保证容器中的STDIN
宽度使用整数表示:
hile进行循环输出helloworld,为了探究容器内部都在做什么,我们使用dockerlogs命令来获取容器的日志,如下可以看到,其内部一直在做while循环并输出helloworld,Docke
num = 1024
f"{num:10}"
# " 1024"
数字和字符串的默认对齐方式不同:
认用于小数的说明符,但在默认情况下至少有1位小数G与g相同,但使用大写来表示指数和特殊值n与g相同,但插入随区域而异的数字分隔符o将整数表示为八进制数s保持字符串的格式不变,这是默认用于字符串的说明符
num = "1024"
f"{num:10}"
# "1024 "
精度也是使用整数表示,但需要在整数前加上小数点:
Docker程序是否存在,功能是否正常上面我们使用了dockerinfo指令,该命令会返回所有容器和镜像的数量、Docker使用的执行驱动和存储驱动,以及Docker的基本配置Docker是基于客户端
num = 1024
f"{num:.2f}"
# "1024.00"
宽度可以和精度同时指定:
容器除了这些交互式运行的容器,我们也可以创建长期运行的容器。守护式容器没有交互式会话,非常适合运行应用程序和服务。大多数情况下我们需要以守护式来运行我们的容器。下面我们创建一个守护式容器上面的示例中使
num = 1024
f"{num:10.2f}"
# " 1024.00"
字符串类型也可以指定精度,但不推荐使用,使用切片处理则更好理解:
untu/bin/sh-c"whiletrue;doechohelloworld;sleep1;done"--restart标志被设置为always。无论容器的退出代码是什么,Do
str = "今天天气不错~"
f"{str:.2}"
# "今天"
在冒号后面添加一个逗号可以为数值添加千位分隔符:
enumberis{num:b}"#"Thenumberis10000000000"以下为字符串格式设置类型说明符:说明符含义b将整数表示为二进制c将整数解读为Unicode码
num = 10000000000000
f"{num:,}"
# "10,000,000,000,000"
填充、对齐与符号
在不添加对齐符号(使用默认对齐方式)的情况下,尽可以使用 0 进行有意义的填充操作:
ocker基本信息运行容器使用容器容器命名重新启动已经停止的容器附着到容器上创建守护式容器容器内部都在干什么查看容器内的进程容器内部运行进程停止守护式进程自动重启容器深入容器删除容器总结Docker入
num = 1024
f"{num:010}"
# "0000001024"
但是在添加了对齐符号之后,就可以在对齐符号前面任意添加一个字符表示填充字符了;
出containerId。重新查询现在正在运行的dockercontainer,发现两个都在运行了附着到容器上Docker容器重新启动的时候,会沿用dockerrun命令时指定的参数来运行,因此我们容
对齐符号:(右对齐)、^(居中),写在宽度之前:
。可以使用dockerps来查看正在运行中的docker容器,还有一个很实用的命令dockerps-nx,该命令会显示最后x个容器,不论这些容器是正在运行还是已经停止。自动重启容器由于某种错误而导致容
num = 1024
f"{num:<10}"
"1024 "
f"{num:^10}"
" 1024 "
f"{num:>10}"
" 1024"
当替换字段为数值时,可为替换字段添加正负符号,
括号啊!}关键字插入法可以和索引同时使用:"{foo}{1}{bar}{0}".format(1,2,foo=3,bar=4)#"3124"基本转换指定占位符要转换的类
添加 + 符号时,加号写在对齐符号之后,宽度整数之前;
-符号(替换字段须为数字且不为负数,因为负数无需再多此一举);1:为替换字段指定宽度之后可以在此位置指定填充字符,默认为空格;2:为替换字段指定宽度之后可以在此位置指定对齐符号,
添加 - 符号时,减号写在替换字段的之前;
命令了。tty(终端设备的统称):在UNIX系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:t
可以理解为将替换字段的数值乘以 +1(将 + 显示)或 -1 :
("Apple","Liang")#"IamLiang,IlikeApple!"更可以像上面关键字插入法一样,给每个替换字段命名,名称后面跟冒号可以设置
num = 1024
f"{num:>+10}"
" +1024"
f"{-num:>10}"
" -1024"
如果需要为负数添加符号:
或-1:num=1024f"{num:>+10}""+1024"f"{-num:>10}""-1024"如果需要为负数添加符
num = -1024
f"{num:>10}"
" -1024"
f"{-num:>+10}"
" +1024"
= 是一种添加了正负符号之后的另一种对齐符号(可以理解为 两端对齐),作用是将填充字符放在符号和数字之间:
一旦退出,容器也就停止了运行。但是容器还是存在的,你可以使用dockerps-a查看系统中的容器列表默认情况下,使用dockerps能够列出所有正在运行的容器列表,使用dockerps-a列出系统出所
num = 1024
f"{num:=+10}"
"+ 1024"
f"{-num:=10}"
"- 1024"
总结
"{[0]sum[1][2][3][4][5]}"
0:为替换字段添加 - 符号(替换字段须为数字且不为负数,因为负数无需再多此一举);
中进行维护、监控以及任务管理。我们也可以在容器内部打开一个交互式任务,如下因此你也可以很直观的看出交互式任务和后台任务之间的区别:交互式任务可以进行运行环境的切换,而后台任务一旦运行无法切换,只能进行
1:为替换字段指定宽度之后可以在此位置指定填充字符,默认为空格;
#39;Liang","Apple")#"IamLiang,IlikeApple!""Iam{0},Ilike{1}".format("
2:为替换字段指定宽度之后可以在此位置指定对齐符号,(右对齐) / =(两端对齐,只能用于类型为数值切有正负符号的替换字段);
;(右对齐)、^(居中),写在宽度之前:num=1024f"{num:<10}""1024"f"{num:^10}""1024"f
3:为替换字段添加 + 符号(替换字段须为数字);
还可以查看容器中运行的进程,ps-aux用于查询容器中的进行进程接下来我们要干什么?安装一个软件包?安装一下vim软件吧,使用apt-getupdate&&apt-getinstall
4:指定替换字段的宽度,只能填写整数;
有两种类型:后台任务和交互式任务。后台任务在容器内部运行并且没有交互需求,而交互式任务保持在前台运行。对于需要在容器内部打开的shell任务,交互式任务还是很实用的,下面是一个后台任务的例子这里的标志
5:指定替换字段的精度或转换类型;
9;Iam$name,Ilike$what!;)temp.substitute(name="Liang",what="Apple")#"IamLiang,Ili