在打印时在Python3中的{}内插入变量

时间:2016-12-22 20:59:59

标签: python-3.x

我试图在Python3的花括号内有一个变量来改变输出的格式,如下所示:

numSpaces = 10
f.write("{:<numSpaces}".format(i))

我该怎么做?如何指定i是整数,字符串,浮点数等?

2 个答案:

答案 0 :(得分:2)

the docs

  

format_spec字段还可以包含嵌套的替换字段。这些嵌套的替换字段可能包含字段名称,转换标志和格式规范,但不允许更深的嵌套。 format_spec中的替换字段在解释format_spec字符串之前被替换。这允许动态指定值的格式。

因此,例如,您可以使用:

In [207]: "{i:<{numspaces}}".format(numspaces=10, i=123)
Out[207]: '123       '

答案 1 :(得分:0)

你可以随时

("{:"+str(numSpaces)+"}").format(i)

可替换地,

("{:{numSpaces}}").format(i, numSpaces=4)