info = '''<table>
    <tr align = "center">
        <h1> Lachlan Osborn </h1>
        <p> Address: 5 Smith Street, Manly <br>
        Date of Birth: 26th April 1993 </p>
        
        <a href="semester.html"><b>My Semester Units</b></a>
        <p><b>Check out my <a href="hobbies.html">hobbies.</a></b></p>
    </tr>
</center>'''

def remove_html(text, info):
    import re
    text = re.sub(r'<.*?>', '', info)
    return text

remove_html(text.strip())

You have a post with same question.
http://www.daniweb.com/software-development/python/threads/416862

In this post you give more info about html file.
What you post now is just a mess,read about function.
Is this a school task? can you use regex in this task?

import re

info = '''<table>
    <tr align = "center">
        <h1> Lachlan Osborn </h1>
        <p> Address: 5 Smith Street, Manly <br>
        Date of Birth: 26th April 1993 </p>

        <a href="semester.html"><b>My Semester Units</b></a>
        <p><b>Check out my <a href="hobbies.html">hobbies.</a></b></p>
    </tr>
</center>'''

def remove_html(info):
    text = re.sub(r'<.*?>', '', info)
    text = text.strip()
    text = text.replace('\n\n', '\n')
    for line in text.split('\n'):
        print line.strip()

remove_html(info)
"""Output-->
Lachlan Osborn
Address: 5 Smith Street, Manly
Date of Birth: 26th April 1993
My Semester Units
Check out my hobbies
"""
This question has already been answered. Start a new discussion instead.