A Python script I've written for correcting table names of the SQL dumps from Windows. Any comments?
<p>as a newbie in Python I've thought about writing a quick and dirty script for correcting the table anme caps of a MySQL dump file (by phpMyAdmin).</p>

<p>The idea is since the correct capitalization of the table names are in the comments, I'm going to use it.</p>

<p>e.g.:</p>

<pre><code>-- --------------------------------------------------------

--
-- Table structure for table `Address`
--
</code></pre>

<p>The reason I'm asking here is that I don't have a mentor on Python programming and I was hoping you guys could steer me to the right direction. It feels like there's a lot of stuff I'm doing wrong (maybe it's not pythonic) I'd really appreciate your help, thanks in advance!</p>

<p>Here's what I've written (and it works):</p>

<pre><code>#!/usr/bin/env python

import re

filename = 'dump.sql'

def get_text_blocks(filename):
    text_blocks = []
    text_block = ''
    separator = '-- -+'
    for line in open(filename, 'r'):
        text_block += line

        if re.match(separator, line):
            if text_block:
                text_blocks.append(text_block)
                text_block = ''
    return text_blocks

def fix_text_blocks(text_blocks):
    f = open(filename + '-fixed', 'w')
    for block in text_blocks:
        table_pattern = re.compile(r'Table structure for table `(.+)`')
        correct_table_name = table_pattern.search(block)
        if correct_table_name:
            replacement = 'CREATE TABLE IF NOT EXISTS `' + correct_table_name.groups(0)[0] + '`'
            block =  re.sub(r'CREATE TABLE IF NOT EXISTS `(.+)`',  replacement, block)
        f.write(block)           

if __name__ == '__main__':
    fix_text_blocks(get_text_blocks(filename))
</code></pre>
