在python 3.2中,如何使用format属性获取一个整数,将0填充到固定宽度?

a = 1
print('{0:3}'.format(a))

给出了"1"而不是我想要的"001".在python 2中.x、 我知道这可以通过使用

print "%03d" % number. 

我查看了Python3字符串文档,但没有找到这个.

http://docs.python.org/release/3.2/library/string.html#format-specification-mini-language

谢谢

推荐答案

在宽度前加上0:

>>> '{0:03}'.format(1)
'001'

此外,在Python的最新版本中不需要位置标记(不确定是哪个,但至少是2.7和3.1):

>>> '{:03}'.format(1)
'001'

Python-3.x相关问答推荐

根据样本量随机 Select 组内样本

模型中的__str__方法在Django管理面板中生成大量重复查询

Python3和请求-超文本标记语言:试图抓取一个网站-没有取回真正的超文本标记语言代码

如何转换Pandas中的数据,以使我 Select 的列名变为行值并增加行?

如何将多个字典合并到一个列中,并为不同的行使用相同的键

查找值始终为零的行 pandas

tkinter treeview 如何在获取所选项目时将设置的对象作为对象返回

重复数组直到一定长度 groupby pandas

如何获取实例化 `types.GenericAlias` 的下标类?

为什么不能用格式字符串 '-' 绘制点?

无法理解此递归函数的分配和环境用法

Pandas 窗口聚合两个排序表

位对的距离

当我判断另一个 checkButton 时,如何判断两个 python tkinter checkButtons?

获取以特定字母开头的姓氏

Pandas数据单调行为

日志(log)模块不适用于 Python3

逗号分隔列表的 argparse 操作或类型

使用 Python3 与 HDFS 交互的最佳模块是什么?

Python 3 中的连接列表