How to pad zeroes to a string?

Faisal picture Faisal · Dec 3, 2008 · Viewed 998.3k times · Source

What is a Pythonic way to pad a numeric string with zeroes to the left, i.e. so the numeric string has a specific length?

Answer

Harley Holcombe picture Harley Holcombe · Dec 3, 2008

Strings:

>>> n = '4'
>>> print(n.zfill(3))
004

And for numbers:

>>> n = 4
>>> print(f'{n:03}') # Preferred method, python >= 3.6
004
>>> print('%03d' % n)
004
>>> print(format(n, '03')) # python >= 2.6
004
>>> print('{0:03d}'.format(n))  # python >= 2.6 + python 3
004
>>> print('{foo:03d}'.format(foo=n))  # python >= 2.6 + python 3
004
>>> print('{:03d}'.format(n))  # python >= 2.7 + python3
004

String formatting documentation.