import textwrap


def fill_and_expand(text, output_width=20, wrap_width=10):
    """
    Give a text, use textwrap.fill() to wrap text in specified width,
    then spilt its output by line, 
    finally expand each line to given output_width with a space.

    Parameters:
        text - the text you want to process.
        output_width - the width of final output. If a splitted line is
                        shorter than this, I will use a space to fill to
                        it.
        wrap_width - the width passed to textwrap.fill().

    Returns:
        a list of expanded wrapped lines.

    Example:
        * Use "|" to wrap up the output
        Given text = "On the darkness highway, cool winds in my hair."
        Invoke: textwrap.fill(text, output_width=20, wrap_width=10)
        Result:
            |On the              | -> result[0]
            |darkness            | -> result[1]
            |highway,            | -> result[2]
            |cool winds          | -> result[3]
            |in my               | -> result[4]
            |hair.               | -> result[5]
    """

    result = []
    text = textwrap.fill(text, width=wrap_width)

    for i in text.split("\n"):
        while len(i) < output_width:
            i += " "
        result.append(i)

    return result