用格式和变量将字符串居中

时间:2018-10-26 14:54:37

标签: python printing format

我想知道如何写这样居中的字符串:

print("{0:^30s}".format("hello"))

但是我希望30成为变量,所以如果我向函数发送“ num = 5”,它将是{0:^ 5s},有人知道正确的语法吗?

3 个答案:

答案 0 :(得分:1)

格式说明符本身可以包含替换字段。您可以使用:

print("{0:^{num}s}".format("hello", num=30))
#                hello 

答案 1 :(得分:1)

另一个方法可能是使用.center()方法:

string = "hello"
# num = 5 or below
num = function(num)
print(a.center(len(a) + num, ' '))

答案 2 :(得分:1)

获取termisize软件包

Termisize 是用于获取终端大小的跨平台python模块

安装Termisize-pip install termisize

代码

import termisize as t
name = "Terabyte"
known_as = "tbhaxor"

cols = t.get_cols()  # gets columns number i.e width of terminal
msg = "My Name is {0} and i am also known as {1}".format(name, known_as)
print( msg.center(cols) )