実装例

def padding_formatter(item, padding, data_type):
    """ 引数で指定された桁数までデータを埋める
        埋める内容は以下の通り
        ・データ型[numeric: 数字]   先頭0埋め
        ・データ型[half: 半角]      後ろ半角スペース埋め
        ・データ型[full: 全角]      後ろ全角スペース埋め

    Args:
        item: 項目
        padding: 桁数(byte数ではない)
                例  全角で64byte項目の場合は「32」桁を指定
        data_type: データ型[numeric: 数字, half: 半角, full: 全角]
    Returns:
        固定長分埋めた項目
    """
    out_item = str(item)
    if data_type == 'numeric':
        out_item = str(item).zfill(padding)
    elif data_type == 'half':
        out_item = str(item).ljust(padding, ' ')
    elif data_type == 'full':
        out_item = str(item).ljust(padding, ' ')
    return out_item

参考