用变量格式化python中的字符串

时间:2015-03-28 12:44:03

标签: python

所以这是我的代码但它返回错误,如“str'类型对象的”未知格式代码'e'。为什么??

c="*"*i
e=input01
d="{:>e}"
print(d.format(c))

1 个答案:

答案 0 :(得分:2)

e作为变量传递给格式,您只是使用字符串"e",因此错误:

d = "{:>{e}}"
print(d.format(c, e=e))

您可以看到实际传递变量正确调整字符串:

In [3]: c = "*" * 4    
In [4]: e = "10"    
In [5]: d = "{:>{e}}"    
In [6]: d.format(c, e=e)
Out[6]: '      ****'

您也可以从格式中删除e并将其作为第二个arg传递给格式:

d = "{:>{}}"
print(d.format(c, e))

无论哪种方式,{}之后的>都是必不可少的。