pythonstringzero-padding

How do I pad a string with zeros?


How do I pad a numeric string with zeroes to the left, so that the string has a specific length?


Solution

  • To pad strings:

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

    To pad 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.